isDaylightSavingTime返回NO,尽管我的时区确实观察到DST

时间:2014-01-07 03:27:49

标签: objective-c cocoa-touch cocoa timezone nstimezone

检查-[NSTimeZone isDaylightSavingTime]给了我NO,我不知道为什么。在我的系统上,我显示了正确的时间,我的时区是美国东部 - 纽约,它遵守夏令时。

NSTimeZone *sZone = [NSTimeZone systemTimeZone];
BOOL isDST = [sZone isDaylightSavingTime];
if (isDST) 
    NSLog(@"\n Daylight saving");
else
    NSLog(@"\n Not in Daylight saving");    // This prints

任何人都可以解释为什么会发生这种情况,以及可能的补救措施吗?

1 个答案:

答案 0 :(得分:7)

isDaylightSavingTime是基于日期的;答案取决于当前日期。今天是1月6日,在1月6日的时区,夏令时没有使用。因此,您看到的结果是正确的。