没有年份的NSDateFormatterFullStyle(NSDateFormatter)

时间:2012-09-21 15:29:46

标签: iphone ios nsdateformatter

使用设备中用户的currentLocale,我想要的日期格式与NSDateFormatterFullStyle为年份生成的日期格式完全相同:

[dateFormatter setDateStyle:NSDateFormatterFullStyle];
[dateFormatter setLocale:[NSLocale currentLocale]];
  

9月21日星期五(2012年)

     

(2012年)9月21日金曜日

括号中的区域是我需要删除但打印的区域。

我注意到iPhone应用程序,Living Earth可以做到这一点并适用于所有语言环境,iPhone锁定屏幕也是如此。自定义格式化程序(例如[dateFormatter setDateFormat:@"EEEE, MMMM"];不会随本地化而改变。

任何人都可以了解如何实现这一目标吗?日期样式的选项似乎都没有这样做。

由于

1 个答案:

答案 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 !