NSDateFormatter按预期不按日语编码24小时

时间:2013-12-22 14:32:58

标签: ios objective-c nsdateformatter

我正在使用以下代码获取可发送到我们服务器的可解析日期/时间:

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat: @"YMMddHHmmss"];
NSLog([dateFormatter stringFromDate: [NSDate date]]);

以下是使用“日语”区域设置时从日志行输出的日期。

下面没有数字的日文字符转换为“morning”,我假设是某种类型的am / pm修饰符

2013-12-12午前10-07-23

我的格式化程序中的HH字符串应该强制日期格式化程序删除这些修饰符,所以我有点困惑为什么我看到“早晨”文本。

我认为我可以通过简单地将日期格式化程序对象的语言环境设置为en_US_POSIX来解决此问题。这种方法有什么问题吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

此问题确实从iOS 7.0.4开始发生。在此之前,日本语区域的发布日期正在转换。在转换日期之前将NSDateFormatter的语言环境设置为en_US_POSIX会在iOS 7.0.4中修复它