在python中获取系统本地时区

新手上路,请多包涵

看起来很奇怪,但我找不到在 Python 中使用 pandas / pytz 查找本地时区的简单方法。

我可以:

 >>> pd.Timestamp('now', tz='utc').isoformat()
Out[47]: '2016-01-28T09:36:35.604000+00:00'
>>> pd.Timestamp('now').isoformat()
Out[48]: '2016-01-28T10:36:41.830000'
>>> pd.Timestamp('now').tz_localize('utc') - pd.Timestamp('now', tz='utc')
Out[49]: Timedelta('0 days 01:00:00')

哪个会给我时区,但这可能不是最好的方法… pytz 或 pandas 中是否有命令来获取系统时区? (最好在 python 2.7 中)

原文由 ntg 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.6k
2 个回答

我认为使用 pytzpandas 是不可能的,但您始终可以安装 python-dateutiltzlocal

 from dateutil.tz import tzlocal
datetime.now(tzlocal())

或者

from tzlocal import get_localzone
local_tz = get_localzone()

原文由 Selcuk 发布,翻译遵循 CC BY-SA 3.0 许可协议

time.timezone 应该可以。

本地(非夏令时)时区的偏移量,以 UTC 以西的秒数为单位(西欧大部分地区为负数,美国为正数,英国为零)。

除以 3600 将得到以小时为单位的偏移量:

 import time

print(time.timezone / 3600.0)

这不需要任何额外的 Python 库。

原文由 Martin Evans 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题