NSDateFormatter returns nil

前端 未结 2 1570
星月不相逢
星月不相逢 2021-01-16 10:42

I\'m trying to parse a date passed in the format:

\"2014-03-26T05:07:42.14286Z\"

My NSDateFormatter code looks like this

相关标签:
2条回答
  • 2021-01-16 11:11

    Just replace the below line to modified line

    [dateFormatter setDateFormat:@"yyyy'-'MM'-'dd'T'HH':'mm':'SS'Z'"];
    

    Modified line:-

    [dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSSZ"];
    
    0 讨论(0)
  • 2021-01-16 11:23

    The formatter returns nil if the given string doesn't correspond to the expected format. Your format string was almost right, you just needed to :

    • Apostrophe should only be used for literals
    • Milliseconds should be specified as 'SSS' and match the separation (use ss.SSS)

    The correct format string is :

    NSDateFormatter *df = [[NSDateFormatter alloc] init];
    [df setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"];
    NSDate *d = [df dateFromString:@"2014-03-26T05:07:42.14286Z"];
    
    0 讨论(0)
提交回复
热议问题