在什么样的格式是这样的日期字符串?(In what format is this date stri

2019-09-01 04:06发布

我试着一堆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'的一部分的任何说明符。

任何帮助表示赞赏,感谢。

Answer 1:

正确格式为yyyy-MM-dd'T'HH:mm:ss.SSSZZZZZ

见Unicode的日期格式模式 。

此外, ZZZZZ的格式+00:00时区的格式加入到iOS 6和iOS 5或更早版本下不被支持。



Answer 2:

这是一个有效的日期格式由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的格式



文章来源: In what format is this date string?