分配区域的Uidatepicker日期格式问题

时间:2014-04-16 08:54:08

标签: ios uidatepicker

我想在我的应用中为区域" es_us"(西班牙语 - 美国)设置日期选择器中的日期格式。为此我已将区域设置设置为日期选择器" es-US" 。当日期选择器出现时,它以格式" dd / MM / yyyy"显示日期选择器。但实际上是语言环境的日期格式" es-US"是" MM / dd / yyyy"。 如何在日期选择器中将格式设置为dd / MM / yyyy?下面是我写的代码。

   UIDatePicker *datePicker = [[UIDatePicker alloc]init];
    datePicker.datePickerMode = UIDatePickerModeDate;
    datePicker.maximumDate = [NSDate date];
    datePicker.hidden = YES;
    datePicker.date = [[NSDate date] dateByAddingTimeInterval:-2629743.83*12*25];
    datePicker.locale =  [[NSLocale alloc] initWithLocaleIdentifier:@"es_US"];

请帮帮我。

提前致谢

2 个答案:

答案 0 :(得分:0)

可能存在NSlocale的问题尝试这个

NSArray* languages = [[NSUserDefaults standardUserDefaults] objectForKey:@"AppleLanguages"];
NSString *language = [[NSLocale currentLocale] displayNameForKey:NSLocaleIdentifier value:     [languages objectAtIndex:0]];
[formatter setLocale:[NSLocale localeWithLocaleIdentifier:language]];

这可能对您有所帮助

答案 1 :(得分:0)

在Apple的文档中,他们在UIDatePickerModeDate中指定了该文档。 DatePicker显示月份,月份和年份。这些项目的确切顺序取决于locale设置。此模式的一个示例是[ November | 15 | 2007 ]。但在设备中,它显示为DD/MM/YYYY。有关详细信息,请参阅UIDatePicker

虽然UIDatePicker的locale属性已从iOS 5弃用。

或者您可以使用所需的值创建自己的UIPickerView

你也可以查看这个答案..

https://stackoverflow.com/a/8944352/1865424

以及关于更改UIDatePicker ..

语言的第二个问题

locale属性(以及所有其他国家/地区特定的格式属性)默认为currentLocale返回的值,而这又取决于iphone的国家/地区设置,而不是语言设定。您需要在iphone常规设置中设置适当的国家/地区。

礼貌: - https://stackoverflow.com/a/2265984/1865424