NSDateFormatter根据地区不提供一致日期

时间:2011-11-24 08:49:02

标签: iphone objective-c nsdateformatter

我试图本地化我的日期,但由于某种原因,它也没有从区域输出正确的格式。

这是测试我的代码的方式:

if(dateformater==nil)
dateformater =[[NSDateFormatter alloc] init];
[dateformater setLocale:[NSLocale currentLocale]];
[dateformater setDateStyle:NSDateFormatterMediumStyle];
[dateformater setTimeStyle:NSDateFormatterShortStyle];
NSString  *string_date=[dateformater stringFromDate:date];
NSLog(@"Loacle:----%@   Date:----%@",[[NSLocale currentLocale] localeIdentifier],string_date);

以下是本地化日期的样子以及出错的地方的一些示例。

Loacle:----da_DK   Date:----24/11/2011 14.10--------(WRONG)
Loacle:----en_BE   Date:----24 Nov 2011 14:09--------(OK)
Loacle:----nl_BE   Date:----24-nov.-2011 14:10------(WRONG)
Loacle:----fr_BE   Date:----24 nov. 2011 14:11-------(OK)
Loacle:----en_US   Date:----Nov 24, 2011 2:11 PM-----(OK)
Loacle:----en_GB   Date:----24 Nov 2011 14:11--------(OK)

要求声明它应该对所有地区都一致。

1 个答案:

答案 0 :(得分:0)

如果您想要相同的输出,则需要使用相同的区域设置,或使用setDateFormat:。区域设置的重点是为不同的样式设置不同的格式。