获取在python系统的本地时区

问题描述 投票:12回答:3

似乎很奇怪,但我无法找到一个简单的方法来找到使用熊猫/ pytz在Python当地时区。

我可以:

>>> 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或大熊猫命令来获得系统时区? (优选在python 2.7)

python python-2.7 pandas timezone-offset pytz
3个回答
19
投票

我不认为这是可能的使用pytzpandas,但你总是可以安装python-dateutiltzlocal

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

要么

from tzlocal import get_localzone
local_tz = get_localzone()

13
投票

time.timezone应该工作。

本地(非DST)时区的偏移量,以UTC(负在大多数西欧,美国,零英国阳性)以西秒。

3600除以会给你弥补时间:

import time

print(time.timezone / 3600.0)

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


1
投票

虽然它不使用pytz /大熊猫,其他的答案没有任何,所以我想我应该张贴我使用的是Mac / Linux的东西:

import subprocess
timezone = subprocess.check_output("date +%Z")

优势比其他答案:尊重夏令时,不需要额外的库安装。

© www.soinside.com 2019 - 2024. All rights reserved.