Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/119.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 使用Objective-C/C查找DST(夏令时)时间戳?_Ios_Objective C_C_Cocoa Touch_Dst - Fatal编程技术网

Ios 使用Objective-C/C查找DST(夏令时)时间戳?

Ios 使用Objective-C/C查找DST(夏令时)时间戳?,ios,objective-c,c,cocoa-touch,dst,Ios,Objective C,C,Cocoa Touch,Dst,是否有方法使用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* systemTime

是否有方法使用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];
但是:我如何才能找到夏令时开始/结束的具体日期呢?

有没有我找不到的杀手桌


任何帮助都将不胜感激

是的,有-您可以使用
[NSTimeZone nextDaylightSavingTimeTransitionAfterDate:
方法。这将返回一个
NSDate
,您可以将其与
daylightSavingTimeOffsetForDate
一起使用以确定偏移量


通常,您会使用它来查找下一个偏移,但显然,您可以使用不同的日期多次运行它,以获得一系列即将进行的夏时制更改。还有一种方便的方法
nextDaylightSavingTimeTransition
,它将始终返回下一次转换。

FYI,在美国,我们的夏令时现在每端都延长了大约3周。@CarlVeazey你确实是对的。如果他们观察到DST的话,把国家改成美济科会很高兴把它改成光荣的国家哈萨克斯坦。记住,DST规则的变化比苹果发布iOS更新更频繁。因此,NSTimeZone方法的日期可能已经过时。在我们的项目中,我们使用,正如你所说的,“杀手表”,它是手动更新的。@Jeepston是的,我知道……我没有碰巧这么幸运,你的杀手表可以被抢夺?;)不幸的是,我不能分享它,我不是代码的所有者。这帮助我完成了问题的本质。然而,在我能够得到我想要的格式之前,仍然有很多NSString的麻烦,例如M4.1.0/2,M10.5.0/2。