我有两个变量:
NSTimeZone *timeZoneMinus5 = [NSTimeZone timeZoneForSecondsFromGMT: -18000];
NSTimeZone *timeZoneEST = [NSTimeZone timeZoneWithName:@"EST"];
在设备和模拟器上进行了测试,并且都返回GMT-05:00
。
在我写这篇文章的时候是2:55 am (GMT)
。我在 EST 时区,所以我的时间是10:55pm (GMT-05:00)
2011 年 4 月 15 日的夏令时。
但是,[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)
. 我错了还是我做错了?