我试着一堆NSString的的转换成NSDate的对象。 下面是一个例子字符串:
2013-04-25T15:51:30.427+1.00
但我无法弄清楚它是什么格式,所以到目前为止,我有(问号是我与难倒位):
yyyy-MM-ddTHH:mm:ss????zzz
我在的主要问题是与” 0.427' 的一部分,虽然如果我犯了一个错误的其他地方,让我知道:)
有没有人有什么想法? 或者可以点我到所有可能的日期格式说明符的列表? 我发现这一点: http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx这是有用的,但它不会出现有针对我卡上的” 0.427'的一部分的任何说明符。
任何帮助表示赞赏,感谢。
正确格式为yyyy-MM-dd'T'HH:mm:ss.SSSZZZZZ
。
见Unicode的日期格式模式 。
此外, ZZZZZ
的格式+00:00
时区的格式加入到iOS 6和iOS 5或更早版本下不被支持。
这是一个有效的日期格式由ISO 8601规定,根据W3
该格式如下。 正是这里显示的组件必须存在,用的正是这种标点符号。 需要注意的是,“T”出现在字面上的字符串,来指示时间元素的开始,如ISO 8601规定。
年份:YYYY(如1997年)年份和月份:YYYY-MM(如1997-07)完成日期:YYYY-MM-DD(例如,1997-07-16),完成日期以及小时和分钟:YYYY-MM-DDTHH:mmTZD (例如1997-07-16T19:20 + 01:00)完成日期以及时,分和秒:YYYY-MM-DDTHH:MM:ssTZD(例如1997-07-16T19:20:30 + 01:00)完成日期加时,分,秒和第二YYYY-MM-DDTHH的小数部分:MM:ss.sTZD(例如1997-07-16T19:20:30.45 + 01:00)
哪里:
YYYY = four-digit year MM = two-digit month (01=January, etc.) DD = two-digit day of month (01 through 31) hh = two digits of hour (00 through 23) (am/pm NOT allowed) mm = two digits of minute (00 through 59) ss = two digits of second (00 through 59) s = one or more digits representing a decimal fraction of a second TZD = time zone designator (Z or +hh:mm or -hh:mm)
在你的情况,日期有误差在毫秒级,尝试添加.sss
的格式