使用设备中用户的currentLocale,我想要的日期格式与NSDateFormatterFullStyle为年份生成的日期格式完全相同:
[dateFormatter setDateStyle:NSDateFormatterFullStyle];
[dateFormatter setLocale:[NSLocale currentLocale]];
9月21日星期五(2012年)
(2012年)9月21日金曜日
括号中的区域是我需要删除但打印的区域。
我注意到iPhone应用程序,Living Earth可以做到这一点并适用于所有语言环境,iPhone锁定屏幕也是如此。自定义格式化程序(例如[dateFormatter setDateFormat:@"EEEE, MMMM"];
不会随本地化而改变。
任何人都可以了解如何实现这一目标吗?日期样式的选项似乎都没有这样做。
由于
答案 0 :(得分:-2)
日期格式化程序不会更改,具体取决于手机语言设置,但会在手机区域设置中更改。如果您想在应用中更改它,可以通过调用[dateFromatter setLocale:theLocaleYouWant]
EDIT
设置区域设置的代码
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"fr"]];
[formatter setDateFormat:@"EEEE, dd MMMM"];
NSLog(@"Current date : %@",[formatter stringFromDate:[NSDate date]]);
// Output vendredi, 21 septembre which is good !