我有两个变量:在iOS中NSTimeZone中的夏令时是否已损坏?
NSTimeZone *timeZoneMinus5 = [NSTimeZone timeZoneForSecondsFromGMT: -18000];
NSTimeZone *timeZoneEST = [NSTimeZone timeZoneWithName:@"EST"];
测试的设备上,并在模拟器以及两个返回GMT-05:00
。
正如我在写这个时间是2:55 am (GMT)
。我在美国东部时区,所以我的时间是10:55pm (GMT-05:00)
,于4月15日2011年
观察夏令时。然而,[timeZoneEST isDaylightSavingTime]
回报NO
和[timeZoneEST daylightSavingTimeOffset]
回报0
。
如果我使用timeZoneEST
来获取当前时间为一个字符串:
NSDate *gmtTime = [NSDate date];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"h:mm a (z)"];
[dateFormatter setTimeZone: timeZoneEST];
NSString *timeStr = [dateFormatter stringFromDate: gmtTime];
两个模拟器和设备给我9:55 PM (GMT-05:00)
。
在我的理解,我应该得到10:55 PM (GMT-05:00)
。我错了还是我做错了?
确实,现在我现在也困惑了我。值-18000是由我的服务器端程序发送到应用程序,该程序运行时间错误的虚拟机中。不管怎么说,还是要谢谢你。 – kadam 2011-04-16 05:04:10
谢谢Anomie,这对我有用! – 2012-05-15 15:37:44