我正在尝试使用 CoreFoundation 复制 Windows 函数GetTimeZoneInformation的功能,该函数填充TIME_ZONE_INFORMATION结构。我制作了一个函数,可以将 aCFAbsoluteTime
和 aCFTimeZoneRef
转换为 a 的等价物SYSTEMTIME
,但是还有一些其他的事情我不太清楚。例如:
StandardDate
和DaylightDate
:我已经使用该CFTimeZoneGetNextDaylightSavingTimeTransition
函数来查找下一个转换,并CFTimeZoneIsDaylightSavingTime
确定这是哪个转换,但由于TIME_ZONE_INFORMATION
需要两个日期,我将如何找到下一个转换后的转换?- 同样,
DaylightBias
- 如果我们当前处于 DST 中,我可以使用它CFTimeZoneGetDaylightSavingTimeOffset
来查找偏移量,但如果我们当前不在 DST 中,则该值变为零。我知道它几乎总是-60,但我希望这个功能完全忠实于 Windows 功能。
有谁知道一个好的解决方案?