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

Vis*_*hal 4 timezone cocoa cocoa-touch objective-c 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
Run Code Online (Sandbox Code Playgroud)

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

mat*_*att 7

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

  • 你可能只是_wishing_有更多的日光.:) (2认同)