我有一个包含900多个字符串对象的数组...
当我将这个字符串格式化为日期时,有1个日期无法格式化,给我一个空值......
我已经在另一个空白的Xcode项目中进行了测试,它也被错误地发现了......
任何人都可以查看我的机器或Xcode是否有错误吗?日期是02/11/2004(年/月/日)。
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"dd/MM/yyyy"];
NSLog([NSString stringWithFormat:@"%@", [formatter dateFromString:@"02/11/2004"]]);
答案 0 :(得分:1)
您正在转换日期而未指定时区,因此假定您的本地时区。经过一番研究猜测你在巴西圣保罗时区,Campo Grande或Cuiba - 2004年11月2日,那些地方的夏令时发生了变化,0000在时间跳到0100时不存在。
如果您刚好在日期转换之后,您可以将时区设置为UTC(没有夏令时),请添加:
formatter.timeZone = [NSTimeZone timeZoneWithAbbreviation:@"UTC"];
并且您不会在该日期获得null
。