如何在iOS 5.1中以MM-dd-yy格式显示选择器视图?

12
在我的应用程序中,我正在使用pickerview。
我的问题是,在iOS 4.3中,Picker视图采用MM-dd-yy格式。

enter image description here

在iOS 5.1中,选择器视图采用dd-MM-yy格式。

enter image description here

我希望在iOS 5.1中以MM-dd-yy格式显示。
我的代码如下,
我使用以下代码动态创建了选择器视图,
datePicker = [[UIDatePicker alloc] initWithFrame:CGRectMake(0, 250, 325, 300)];
datePicker.datePickerMode = UIDatePickerModeDate;
datePicker.date = [NSDate date];

NSDate *today = [NSDate date];        
NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"MM-dd-yy"];
NSString *dateString = [df stringFromDate:today];
dateString = [NSString stringWithFormat:@"%@",[df stringFromDate:datePicker.date]];

有人能建议我如何解决iOS 5.1上的这个问题吗?


我也在使用iOS 5.1,并且在我的应用程序中使用了你的代码,选择器视图显示为MM-dd-yy格式 :) - user2289379
我给你的问题点了赞,因为它很好。 - user3182143
5个回答

8

我的所有代码都能正常工作,

问题在于设置,

我将区域格式设置为印度,现在要更改为美国,

所有功能都正常.....


第一次运行应用程序时,它会发生变化吗? - user3182143
编程上是否有可能实现? - user3182143
你的问题很好,但如果你能通过编码带来解决方案,那将是惊人的。 - user3182143
您可以更改日期选择器的语言环境,而无需更改设备区域。 - EnasAZ

5

请检查这个

UIDatePicker *datePicker = [[UIDatePicker alloc] initWithFrame:CGRectMake(0, 250, 325, 300)];

 datePicker.datePickerMode = UIDatePickerModeDate;

 datePicker.date = [NSDate date];

 [datePicker addTarget:self   action:@selector(LabelChange:)forControlEvents:UIControlEventValueChanged];

 [self.view addSubview:datePicker];

 [datePicker release];

4

将地区更改为美国,即区域设置

NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"US"];
        [datePicker setLocale:locale];

4

您可以制作自定义选择器来完成此操作。

如果您想要格式化日期,请使用以下代码。

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"MM-dd-yy"];
NSString *date = [dateFormat stringFromDate:datePicker.date];    
NSLog(@"date is >>> , %@",date);

2
在iOS 5.1中,将UIDatePicker显示为4.3中的样式。 您和我都有相同的代码,但在我的应用程序中,UIDatePickerMM-dd-yyyy的格式显示。 使用它...可能对您有所帮助。
   self.DatePicker= [[UIDatePicker alloc] initWithFrame:CGRectMake(0, 0, 320, 216)];
    self.DatePicker.datePickerMode = UIDatePickerModeDate;
    [self.DatePicker addTarget:self
                   action:@selector(SetDatePickerTime:)
         forControlEvents:UIControlEventValueChanged];
    [self.asheet addSubview:self.DatePicker];

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接