2

我想显示这样的日期:工作日 7 个月。我这样做了,我有正确的语法。

NSDateFormatter* df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"EEEE dd MMMM"];
[df setTimeZone:[NSTimeZone localTimeZone]];

记录的结果是:3 月 16 日星期六。我只想拥有法国约会,而不是英国约会。我尝试设置本地时区,但它没有任何改变。你知道如何做到这一点吗?

4

2 回答 2

7

使用标识符初始化语言环境。您可以从中获取所有可用的标识符

[NSLocale availableLocaleIdentifiers];

我相信@"fr_BI" 是法语标识符之一

NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"fr_BI"];
[dateFormatter setLocale:locale];
于 2013-03-16T11:33:12.970 回答
2

NSLocale您使用适当的对象设置日期格式化程序的区域设置。

另外,请注意像这样的硬编码日期格式。您的用户可能不喜欢以这种格式查看日期,因此您应该首先运行格式字符串+[NSDateFormatter dateFormatFromTemplate:options:locale:]。WWDC 2012 会议“国际化技巧与窍门”提供了大量关于此的有用信息。

于 2013-03-16T08:13:56.677 回答