2

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

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

9 月 21 日星期五(2012 年)

(2012年)9月21日金曜日

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

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

谁能阐明如何做到这一点?日期样式的选项似乎都没有这样做。

谢谢

4

1 回答 1

-3

日期格式化程序不会根据手机语言设置而是根据手机区域设置而改变。如果您想在您的应用程序中更改它,您可以通过调用设置日期格式化程序的语言环境[dateFromatter setLocale:theLocaleYouWant]

编辑
用于设置语言环境的代码

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 !
于 2012-09-21T15:36:39.767 回答