I get nil when using NSDateFormatter in swift

后端 未结 2 492
傲寒
傲寒 2021-01-15 22:52

This is my code :

println(myStringDate)    // 2015-02-26T17:46:34.000Z
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = \"YYYY-MM-DDTHH:mm:ss         


        
相关标签:
2条回答
  • 2021-01-15 23:05

    Your problem is how you set the date format. Because there is a T in your string, you need to "escape" it and say, that it shouldn't affect the formatting of the date.

    dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"
    

    Also as you see, I've changed the sss to SSS which stands for miliseconds and also changed the year YYYY to lowercase yyyy also the same with the DD. You have to be really carefully, when to use upper and lowercase letters in your Dateformat-strings.

    Check @HotLicks link in the comments which shows a great overview of the dateformat usage.

    0 讨论(0)
  • 2021-01-15 23:06

    I know that it's to late, but

    dateFormatter.dateFormat = "YYYY-MM-DD'T'HH:mm:ss.sss'Z'"
    

    should be

    dateFormatter.dateFormat = "YYYY-MM-DD'T'HH:mm:ss.SSS'Z'"
    

    because,

    1)

    ss - seconds
    SSS - fractional second
    
    sss != SSS
    

    2)

      T -> 'T'; S -> 'S'
    

    And nice tutorial

    0 讨论(0)
提交回复
热议问题