NSDateFormatter返回nil为凌晨2点小时
问题描述:
我尝试使用下面的代码将一个字符串到一个NSDate转换:NSDateFormatter返回nil为凌晨2点小时
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setTimeZone:[NSTimeZone localTimeZone]];
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss"];
NSDate *date= [dateFormatter dateFromString:@"2013-03-10T02:00:00"];
它工作得很好,除了02:00:00所有时间,如上图所示,返回nil。
任何想法?
答
这是因为夏令时发生在美国10日2013
系统时间直接从凌晨1:59。跳到凌晨3:00三月..
你失去了的小时,你已经在11月份当DST生效时获得了
不知道如何解决它,但问题可能是由于夏令时 – Nabou 2013-03-10 21:21:52
是的,就是这样。将日期更改为9日或11日,问题消失... – 2013-03-10 21:24:49
在美国,2013年3月10日上午2点没有这样的事情。时间从1:59:59到3:00:00到期节约一天的光照时间。同样的问题会出现在其他地区,但在其他日期/时间也会出现。 – rmaddy 2013-03-10 21:25:03