我一直在使用以下NSDateFormatter代码来使用以下输出格式化我的日期字符串: '2013-02-18 03:23:32.928000 +0000'
在添加欧洲iPhone的用户输出更改为: '2013-02-18 02:00:40 AM.118000 +0000'
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
NSTimeZone *timeZone = [NSTimeZone timeZoneWithName:@"UTC"];
[dateFormatter setTimeZone:timeZone];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss.SSSSSS Z"];
有关格式化程序无法正常工作的任何提示?
答案 0 :(得分:5)
在iOS文档中,有这一行:
在iOS中,用户可以覆盖默认的AM / PM与24小时的时间 设置。这可能导致NSDateFormatter重写格式字符串 你设置了。
这就是为什么你得到AM / PM而不是24小时格式。
您可以通过覆盖NSDateFormatter
。
[dateFormatter setLocale:
[[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"]] autorelease];