检查isDaylightSavingTime for

时间:2014-01-22 15:58:50

标签: ios iphone nsdate nscalendar

Using Time Zones Guide 显示如何检查当前日期的夏令时(DST)是否有效以及如何在夏令时更改时获取下一个日期。致电:

isDaylightSavingTime
daylightSavingTimeOffset
nextDaylightSavingTime

E.g。

Bool isDST = [[NSTimeZone systemTimeZone] isDaylightSavingTime];

但是我需要确定未来日期是否为DST,以便当用户滚动到远距离和远离日期时,他们可以看到我的图表以正确标记的时间轴绘制( GMT或BST)。

问题是 isDayLightSavingTime 似乎带有两个参数,一个是显式传递给它的(NSTimeZone),另一个是隐含的,即当前系统时间。

1 个答案:

答案 0 :(得分:2)

您只需致电isDaylightSavingTimeForDate,即可传递相关的NSDate

并不是isDaylightSavingTime本身有两个参数 - 就是它用当前日期调用isDaylightSavingTimeForDate。来自docs for isDaylightSavingTime

  

此方法使用当前日期作为参数调用isDaylightSavingTimeForDate:

因此,只需跳过“便利”方法并调用isDaylightSavingTimeForDate指定要检查的日期。 (我会给出一些示例代码,但是我获得Objective C语法的机会很小......)