如果我在 Python 程序运行时更改计算机的时区,该程序将继续使用旧时区进行计算和转换,除非我重新启动程序。
这在诸如解析使用本地时间的命令的输出(例如net stats svr
在 Windows 中)的情况下会导致麻烦。time.mktime(local_naive_datetime.timetuple())
除非重新启动程序,否则将这种解析的本地时间转换为 Unix 时间戳会返回不正确的时间戳,因为它假定本地时间在旧时区。
演示此问题的简单示例:调用datetime.datetime.now()
,更改系统时区,然后再次调用该函数。第二次调用返回旧时区的本地时间。
是否可以使用函数或其他方法告诉 Python 重新检查系统时区而无需重新启动长时间运行的脚本?
我在 Windows 7 上运行 Python 2.7.3。