【发布时间】:2011-12-25 16:06:10
【问题描述】:
我住在美国东部时区 (EST),几周前夏令时开始了。我正在测试我早期的一些代码,这些代码(据说)运行良好,并注意到天秒计算提前 1 小时运行。
这是我用于测试的代码:
int gmtOffset = [[NSTimeZone localTimeZone] secondsFromGMT];
int daylightOffset = [[NSTimeZone localTimeZone] daylightSavingTimeOffset];
int daySeconds = ((int)([date timeIntervalSinceReferenceDate]+gmtOffset+daylightOffset))%(86400+1);
NSLog(@"Day seconds: %i", daySeconds);
结果比预期值少 3600 秒。日光偏移为 0。如何正确获取用户所在时区的日光偏移? NSDateFormatter 正确解析日期,所以它必须知道 NSTimeZone 没有告诉我的一些事情。
谢谢!
【问题讨论】:
标签: ios5 nsdate dst iphone-4 nstimezone