我正在获取RSS,其中我收到以下日期戳:
2010-05-10T06:11:14.000Z
现在我使用NSDateFormatter来解析这个日期时间戳。
[parseFormatter setDateFormat:@"yyyy-MM-dTH:m:s.z"];
但是如果只删除它适用于日期[parseFormatter setDateFormat:@"yyyy-MM-d"];
的时间戳部分它不能正常工作但是如果我添加剩下的东西它会返回nil。
有什么想法吗?
提前致谢....
答案 0 :(得分:27)
您需要为d,H,m,s
解析零填充值您需要将文字T
转义为'T'
您需要使用SSS
您可以接受带Z
的文字'Z'
或使用大写Z来尝试解析时区,但RSS使用单独的标准。
@"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"
答案 1 :(得分:0)
从记忆中我过去也遇到过这个问题。有几件事要尝试:
用空格替换RSS Feed中的“T”(显然也会更改日期格式字符串)。
您的RSS Feed已填充数字,而您的格式字符串则没有。试一试“yyyy-MM-ddTHH:mm:ss.Z”。根据这个链接,“z”应该被限制。 http://www.stepcase.com/blog/2008/12/02/format-string-for-the-iphone-nsdateformatter/
从RSS源中删除时区信息并手动解析。我似乎记得这给我带来了麻烦。