我正在尝试解析以格式传递的日期:
"2014-03-26T05:07:42.14286Z"
我的NSDateFormatter
代码如下所示
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy'-'MM'-'dd'T'HH':'mm':'SS'Z'"];
self.createdAt = [dateFormatter dateFromString:@""2014-03-26T05:07:42.14286Z""];
但它只返回nil
。我尝试过多种变化,有或没有刻度,但我似乎缺少一些东西。我是否错误地使用NSDateFormatter
,完全误解了滴答声的用法?
答案 0 :(得分:6)
如果给定的字符串与预期的格式不对应,则格式化程序返回nil。您的格式字符串几乎是正确的,您只需要:
正确的格式字符串是:
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"];
答案 1 :(得分:0)
只需将以下行替换为修改后的行
即可[dateFormatter setDateFormat:@"yyyy'-'MM'-'dd'T'HH':'mm':'SS'Z'"];
修改后的行: -
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSSZ"];