我已阅读了关于此的所有帖子,但仍未解决问题。使用NSDateFormatter解析ISO 8601
下面是我试图解析为一个NSDate
对象的字符串:
2012-04-08T12:00:00.00+02:00
据我所知,这个问题是时区格式。这是我想要的日期格式字符串:
yyyy-MM-dd'T'HH:mm:SSZZZZ
感谢您的任何帮助。
我已阅读了关于此的所有帖子,但仍未解决问题。使用NSDateFormatter解析ISO 8601
下面是我试图解析为一个NSDate
对象的字符串:
2012-04-08T12:00:00.00+02:00
据我所知,这个问题是时区格式。这是我想要的日期格式字符串:
yyyy-MM-dd'T'HH:mm:SSZZZZ
感谢您的任何帮助。
三件事:
使用 - [NSDateFormatter getObjectValue:forString:范围:错误:]方法学的字符串多少被解析并防止进一步解析了什么错误。
ZZZZ格式字符串对应类似于“GMT + 02:00”的内容,其中带有“GMT”。您可能需要将其注入到要解析的字符串中才能正常工作。
Apple's Data Formatting Guide建议"Consider Unix Functions for Fixed-Format, Unlocalized Dates"。
谢谢!注入“格林威治标准时间”的窍门。我还会注意到一个有用的提示是使用你的格式注销'NSDateFormatter'期望的日期,看起来像这样:'[dateFormatter stringFromDate:[NSDate date]]'。 – edc1591 2012-04-07 22:41:28
现在专用NSISO8601DateFormatter可用。
这看起来很像: http://stackoverflow.com/questions/2201216/is-there-a-simple-way-of-converting-an-iso8601-timestamp-to-a-formatted -sdate 其中有三个答案。 – DRVic 2012-04-07 19:26:53
我认为这个线程没有解决这个问题 - 还有另一个线程在某个地方。答案的要点是,在尝试使用NSDateFormatter解析日期之前,必须以某种方式删除最后一个“:”字符。 – 2012-04-07 19:48:24
我见过这个问题。它不回答我的问题。答案1甚至不回答问题,答案2不使用'NSDateFormatter',答案3使用iOS上不存在的方法。 – edc1591 2012-04-07 22:19:24