我想在我的应用中为区域" 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"];
请帮帮我。
提前致谢
答案 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常规设置中设置适当的国家/地区。