使用WINAPI检索DateTime语言环境偏移量

时间:2015-08-02 04:05:31

标签: windows datetime winapi timezone locale

Windows API提供Time Functions。但是考虑到DayLight保存,我无法找到一种方法来让本地DateTime检索它与UTC的偏移量。

例如:2015年1月1日(巴西利亚时间)在夏令时期间,因此,与UTC的-03:00不同,偏移量为-02:00。
现在,今天(2015年8月2日)我们不是夏令时,所以偏移量再次是-03:00。

是否有一种功能(或许是另一种方法)来检测它?

2 个答案:

答案 0 :(得分:1)

你能做到的一种方法就是使用TzSpecificLocalTimeToSystemTime函数,因为这会考虑DST。

在相关的两个日期为午夜创建两个SYSTEMTIME结构,将它们转换为UTC,然后比较生成的UTC时间。

答案 1 :(得分:0)

对于每一年,使用var textureToChangeTo: SKTexture = SKTexture.textureWithImage("yourImageNameHere") body.node?.texture = textureToChangeTo 并捕获标准日期和日期日期的开头。如果标准日期大于1月1日,则为了解决方案,请将前几天视为白天时间 使用成员Bias和DayLightBias来检测偏移以及在白天期间减去多少。
给出日期,检测日期范围:
大小写匹配白天时段,结果是原始偏移 - DayLightBias(以分钟为单位)。
否则结果是偏差(以分钟为单位)。