我在互联网上搜索了一个解决方案,但一直无法解决我的问题。
我有一个我正在格式化的日期,但它总是返回null。
NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.sss.ZZZZ"];
NSString *dueDateString = [NSString stringWithFormat:@"2014-07-11T15:21:42.207+0200"];
NSDate *dateFromApi = [dateFormatter dateFromString:dueDateString];
[dateFormatter setDateFormat:@"yyyy/MM/dd"];
NSString *finalDateString = [dateFormatter stringFromDate:dateFromApi];
NSLog(@"dueDateString %@", dueDateString);
NSLog(@"dateFromApi %@", dateFromApi);
NSLog(@"finalDateString%@", finalDateString);
我不知道我做错了什么,但如果我使用这种格式,上面的格式似乎有用0001-01-03T00:00:00.000 + 0200我得到了0001/01/02的输出。一旦它像这样改变2014-07-11T15:21:42.207 + 0200它不起作用并且总是返回null?
答案 0 :(得分:1)
请使用以下代码
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSSZZZZ"];
NSString *dueDateString = [NSString stringWithFormat:@"2014-07-11T15:21:42.207+02:00"];
NSDate *dateFromApi = [dateFormatter dateFromString:dueDateString];
[dateFormatter setDateFormat:@"yyyy/MM/dd"];
NSString *finalDateString = [dateFormatter stringFromDate:dateFromApi];
NSLog(@"dueDateString %@", dueDateString);
NSLog(@"dateFromApi %@", dateFromApi);
NSLog(@"finalDateString%@", finalDateString);