2013-05-04 146 views
3

我得按以下格式的日期:MagicalRecord日期解析

2013-05-04T05:07:09+00:00

我使用MagicalRecord到的NSDate自動映射。據我所見,上述日期格式應符合MagicalRecord的默認日期格式:yyyy-MM-dd'T'HH:mm:ss'Z'

我曾與屬性的用戶信息定製dateFormat進入試(見this article):

yyyy-MM-ddTHH:mm:ss+Zyyyy-MM-dd T HH:mm:ss Zyyyy-MM-dd'T'HH:mm:ss'+'Z

但他們沒有爲了工作,有它正確地解析日期和無論設置自定義dateFormat還是使用MagicalRecord的默認格式,它總是返回nil

回答

9

讓我們看一下你的字符串:

2013-05-04T05:07:09+00:00 

這就是:

  1. 四位數年份
  2. 連字符
  3. 零填充月
  4. 連字符
  5. 零填充一個月的日子
  6. 'T' 字符
  7. 填零小時
  8. ':' 字符
  9. 填零分鐘
  10. ':' 字符
  11. 零填充第二
  12. 時區(與GMT方向和分隔冒號)

因此,根據the date format specifiers documentation,你想要的模式是:

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

此外,一定要使用en_US_POSIX區域設置與NSDateFormatter

+0

你一直一分鐘比我:) +1 – HAS 2013-05-04 18:41:14

+0

由於速度更快,這做到了!根據規範,我只是在00:00需要一個Z,所以這是我的問題。非常感謝您的及時回覆! – runmad 2013-05-04 18:48:34

+0

@runmad'Z'將用於'+ 0000'。既然你已經有了':',那麼你需要'ZZZZZ' :) – 2013-05-04 18:49:49