如何让python获取操作系统时区更改?

时间:2014-10-08 18:26:38

标签: python timezone

在一个正在运行的python实例中,是否有一个函数可以调用“Hey python,刷新你对时区信息的了解”?那么就说我打开python,然后我改变/ etc / localtime。如何让python更新到新的时区?我的目标是不要直接使用TZ环境变量或引用/ etc / localtime或使用任何特定于操作系统的命令。我也想不重启python。这可能吗?

2 个答案:

答案 0 :(得分:3)

我正在寻找的答案是time.tzset()

>>> time.tzname[time.daylight]
'CDT'
>>> #Use dpkg-reconfigure tzdata
...
>>> time.tzset()
>>> time.tzname[time.daylight]
'EDT'
>>> 

答案 1 :(得分:1)

timetzlocal

>>> from datetime import datetime
>>> from tzlocal import get_localzone
>>> tz = get_localzone()
>>> datetime.now(tz).tzinfo
<DstTzInfo 'Europe/Warsaw' CEST+2:00:00 DST>