RFC 3339日期字符串的NSDateFormatter格式字符串,不带毫秒

时间:2014-07-21 19:24:30

标签: cocoa-touch cocoa nsdateformatter date-parsing

我在尝试解析来自Feed的Atom RFC 3339日期时遇到问题。进来是形式:@"2014-07-21T11:36:05-05:00"并且以下格式无法解析它......任何帮助?

        [dateFormatter setDateFormat:@"yyyy'-'MM'-'dd'T'HH':'mm':'ssZZZ"]; 

        [dateFormatter setDateFormat:@"yyyy'-'MM'-'dd'T'HH':'mm':'ss.SSSZZZ"]; 

        [dateFormatter setDateFormat:@"yyyy'-'MM'-'dd'T'HH':'mm':'ss"]; 

        [dateFormatter setDateFormat:@"yyyy'-'MM'-'dd'T'HH':'mm':'ss.ZZZZ"];

1 个答案:

答案 0 :(得分:6)

您需要的格式是

yyyy-MM-dd'T'HH:mm:ssZZZZZ

五个Z模式是格式化库中最近添加的模式,它可以处理这个时区格式。

(尽管Apple's Technical Q&A 1480 on this topic(以及日期格式指南中的相同代码),需要转义为撇号的格式字符串中的唯一项目是T - Unicode Technical Standard #35,它控制格式字符串,表示只保留ASCII字母az和AZ。但是,它也表示将来可能会使用标点符号 ,所以如果你愿意,你可以引用冒号和连字符。)