python windows时区_使Python响应Windows时区更改

底线是,在VC版本6中,tzset()不能正常工作。然而,对于VC版本8,tzset()现在可以工作了(我认为它也可以在7版中使用,但我没有那个版本可以检查)。在

所以现在所要做的就是在源代码中启用“让你工作”并重新编译(和测试)。在

根据我的经验,对于不同的TZ设置的函数的所有需求都需要一个工作的tzset()。任何时候更改C Lang TZ var或-Windows时区信息时都必须调用tzset()。这在VC版本6中是不可能的,这就是为什么HAVE_WORKING_TZSET没有被启用(但现在至少应该为VC版本8及更高版本启用)。在

顺便说一句,对于我所做的所有日期/时间的事情,我总是有一个SetUtcTime()和unsetctime(),它们将TZ设置为GMT并相应地调用tzset()。我也有功能

临时设置到另一个时区。这是唯一正确的方法!根据多年的经验,我可以说任何其他的都是麻烦。以及日历.timegm()不是

对的。使用tzset()。在

下面是它正在工作的证据(因此请使用bug作者修复windows代码):

(我是从另一台计算机上输入的,所以希望没有拼写错误,但它是

我提出的观点,而不是代码)。在

注意:下面都是PYTHON(我从PYTHON的ctype接口调用C Lang)

注意:因为我是通过DLL边界设置TZ,线程本地和全部

那些废话,不能用来解决问题。必须重新启用HAVE-WORKING-TZSET。在import time

from ctypes import *

dTime = time.time ()

nTime = int (dTime)

intTime = c_int (nTime)

print time.ctime (dTime)

print c_char_p (cdll.msvcrt.ctime (addressof (intTime))).value

-&gt。。。21:02:40。。。(python)

-&gt。。。21:02:40。。。(C语言)

^{pr2}$

(正常情况下时间.tzset将调用()并调用inittimezone()进行更新

python的时区变量)print time.ctime (dTime)

print c_char_p (cdll.msvcrt.ctime (addressof (intTime))).value

-&gt。。。21:02:40。。。(python)

-&gt。。。11: 02:40。。。(C lang)<-底层VC版本8现在正在工作!在

(因此,如果为(版本8及以上)定义了“工作”TZSET,则会得到以下信息:)

-&gt。。。11: 02:40。。。(python)

-&gt。。。11: 40:02。。。(C语言)

只要检查一下源代码就知道我的意思了。在

我用最新的python'2.0'系列2.7.2进行了检查。在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值