【发布时间】:2011-04-16 02:56:56
【问题描述】:
我有两个变量:
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)。是我错了还是我做错了?
【问题讨论】:
标签: ios dst nstimezone