使用Pytz更改系统时区

时间:2013-08-27 18:40:09

标签: windows timezone pytz

我有以下格式的时区:country / city(例如:America / Sao_Paulo)。 我想用python改变我的系统的时区(Win7),是否可以用Pytz和Datetime来完成它,或者根本没有?

谢谢!

1 个答案:

答案 0 :(得分:2)

一般来说,没有。没有直接的Python方法可以做到这一点。

可以完成,但你必须要经历很多箍:

  • 使用CLDR data将IANA区域转换为Windows区域ID。
    • 实施例。 America/Sao_Paulo => E. South America Standard Time
    • (有关详细信息,请参阅the timezone tag wiki的数据库部分。)
  • 获取相应的Win32安全权限。
  • 调用Win32 SetTimeZone API

从Python中调用Win32函数是通过ctypes完成的。

Here's a walkthrough其中Win32权限和调用make,尽管它在此示例中的C#中。您需要翻译Python。

对我来说听起来很多工作。不知道你为什么要这样做。