这个datestring是什么格式?
我试图将一堆NSStrings转换成NSDate对象。 这是一个string示例:
2013-04-25T15:51:30.427+1.00
但我不明白它是什么格式,到目前为止我已经(问号是我难以置信的):
yyyy-MM-ddTHH:mm:ss????zzz
我遇到的主要问题是“.427”部分,但如果我在别处犯了一个错误,请告诉我:)
有没有人有任何想法? 或者可以指向我所有可能的date格式说明符的列表? 我发现这个: http : //msdn.microsoft.com/en-us/library/8kb3ddd4.aspx这是有用的,但它似乎没有任何说明符的'.427'部分,我卡住了。
任何帮助表示赞赏,谢谢。
正确的格式是yyyy-MM-dd'T'HH:mm:ss.SSSZZZZZ
。
请参阅Unicodedate格式模式 。
此外, ZZZZZ
+00:00
时区格式的ZZZZZ
格式已添加到iOS 6,并且在iOS 5或更低版本中不受支持。
根据W3的规定,这是ISO 8601规定的有效date格式
格式如下。 这里显示的组件必须存在,正是这个标点符号。 请注意,“T”字面上出现在string中,以指示时间元素的开始,如ISO 8601中所规定的。
YYYY-MM(例如1997-07)完成date:YYYY-MM-DD(例如1997-07-16)完成date加上小时和分钟:YYYY-MM-DDThh:mmTZD (例如1997-07-16T19:20 + 01:00)完成date加上小时,分钟和秒钟:YYYY-MM-DDThh:mm:ssTZD(例如1997-07-16T19:20:30 + 01:00)完成date加上第二个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)
在你的情况下,date有毫秒的准确性,尝试添加.sss
的格式