5

我正在获取一个 RSS,其中我收到以下日期戳:

2010-05-10T06:11:14.000Z

现在我正在使用 NSDateFormatter 来解析这个日期时间戳。

[parseFormatter setDateFormat:@"yyyy-MM-dTH:m:s.z"];

但是如果只是删除时间戳部分,它就不能正常工作[parseFormatter setDateFormat:@"yyyy-MM-d"];但是如果我添加其余的东西,它会返回 nil。

任何的想法 ?

提前致谢....

4

2 回答 2

27

您需要解析 d、H、m、s 的零填充值

您需要将文字转义T'T'

您需要解析秒的小数部分SSS

您可以接受Z带有'Z'或使用大写 Z 的文字来尝试解析时区,但 RSS 使用单独的标准。

@"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"

日期格式模式

于 2010-05-10T07:01:27.793 回答
0

从记忆中,我过去也遇到过这个问题。有几件事可以尝试:

  1. 将 RSS 提要中的“T”替换为空格(显然也要更改日期格式字符串)。

  2. 您的 RSS 提要有填充数字,而您的格式字符串没有。试试这个“yyyy-MM-ddTHH:mm:ss.Z”。根据这个链接,那个“z”应该是大写的。http://www.stepcase.com/blog/2008/12/02/format-string-for-the-iphone-nsdateformatter/

  3. 从 RSS 提要中剥离时区信息并手动解析。我似乎记得这给我带来了问题。

于 2010-05-10T06:44:45.107 回答