【发布时间】:2015-01-28 01:30:15
【问题描述】:
我创建了一个 NSDateFormatter,但有时它会根据给定的字符串创建一个 NSDate,有时它不在同一设备(模拟器)上。
这是我的代码:
NSString *lastModifiedString = [metaData objectForKey:@"Last-Modified"];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"EEE, dd MMM yyyy hh:mm:ss Z"];
NSDate *onlineModDate = [dateFormatter dateFromString:lastModifiedString];
例如字符串 “Fri, 09 Jan 2015 15:08:01 GMT”它返回 nil,但对于“Fri, 12 Dec 2014 09:15:52 GMT”它返回正确的 NSDate。
我尝试在日期格式中添加括号,并尝试将语言环境设置为“en_US_POSIX”,我尝试使用小 z 而不是大 z,但都不起作用。
我做错了什么?感谢您的帮助。
【问题讨论】:
-
只是一个猜测:它解析 12:59:59 OK,但在 13:00:00 失败。这两者有什么不同?
-
问题是
hh,因为它以 12 小时格式表示小时。因此 15 无效。使用HH,用于24小时格式。
标签: ios nsdateformatter