我的代码是
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"EDT"]];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:dd"];
NSString *strDate = @"my date from backend";
NSLog(@"value from backend %@",strDate);
NSLog(@"after chnage by formatter %@",[dateFormatter dateFromString:strDate]);
在我的控制台记录结果
value from backend 2014-04-18 05:01:13
after chnage by formatter 2014-04-12 23:31:00 +0000
value from backend 2014-04-18 05:01:34
after chnage by formatter (null)
value from backend 2014-04-18 05:04:27
after chnage by formatter 2014-04-26 23:34:00 +0000
value from backend 2014-04-18 05:04:47
after chnage by formatter (null)
value from backend 2014-04-18 05:05:14
after chnage by formatter 2014-04-13 23:35:00 +0000
value from backend 2014-04-18 05:05:21
after chnage by formatter 2014-04-20 23:35:00 +0000
value from backend 2014-04-18 05:08:38
after chnage by formatter (null)
为什么有些日期是空的..任何人都可以帮助我吗?
最佳答案
日期格式应该是:
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
请注意,我将末尾的 dd 更改为 ss。 对于大多数情况,返回的日期是错误的。对于那些秒数超过 30 的情况,您将得到 null。
关于ios - 某些日期的 NSDateformatter 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23149455/