Objective c isDaylightSavingTime返回否,尽管我的时区确实遵守DST

Objective c isDaylightSavingTime返回否,尽管我的时区确实遵守DST,objective-c,cocoa-touch,cocoa,timezone,nstimezone,Objective C,Cocoa Touch,Cocoa,Timezone,Nstimezone,检查-[NSTimeZone isDaylightSavingTime]给了我否,我不知道为什么。在我的系统上,我显示了正确的时间,我的时区是美国东部——纽约,它观察DST NSTimeZone *sZone = [NSTimeZone systemTimeZone]; BOOL isDST = [sZone isDaylightSavingTime]; if (isDST) NSLog(@"\n Daylight saving"); else NSLog(@"\n Not i

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

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

有人能解释一下为什么会发生这种情况,以及可能的补救办法吗?

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

这不是您真正的代码。请粘贴您的真实代码。为什么您希望
isDayLightSavingTime
今天返回
YES
?是的,在Matt回答后我意识到。。可能是我想得太早了,但我得到的信息是DaylightSavingTime是基于当前日期的日期。我的错!!认真地我怎么会忘记呢?谢谢你的回答!你可能只是希望有更多的阳光。:)