有没有办法使用 C 或 Objective-C 获取每个国家的夏令时开始和结束的具体日期(方式)?
在墨西哥,夏令时从 4 月的第一个星期日凌晨 2:00 开始,到 10 月的最后一个星期日凌晨 2:00 结束。在许多 POSIX 系统中,这写成
M4.1.0/2,M10.5.0/2
(Begins: Month 4, 1st Sunday at 02:00AM, Ends: Month 10, last Sunday at 02:00AM)
我知道有可能知道夏令时当前是否正在使用
NSTimeZone* systemTimeZone = [NSTimeZone systemTimeZone];
BOOL dstIsOn = [systemTimeZone isDaylightSavingTime];
并且有可能得到下一个夏令时
开始的时间
NSTimeZone* systemTimeZone = [NSTimeZone systemTimeZone];
NSTimeInterval delta = [systemTimeZone daylightSavingTimeOffset];
但是:我将如何找到夏令时开始/结束的具体日期?
那里有我找不到的 killer 级 table 吗?
任何帮助将不胜感激!
最佳答案
是的,有 - 您可以使用 [NSTimeZone nextDaylightSavingTimeTransitionAfterDate:]
方法。这将返回一个 NSDate
,您可以将其与 daylightSavingTimeOffsetForDate
一起使用以确定偏移量。
通常您会使用它来查找下一个偏移量,但您显然可以在不同的日期多次运行它以获得一系列即将到来的夏令时更改。还有一个方便的方法 nextDaylightSavingTimeTransition
,它将始终返回下一个转换。
关于ios - 使用 Objective-C/C 查找 DST(夏令时)时间戳?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15473801/