我有一個愚蠢的問題。我解析Facebook的用戶數據,我也得到了時區數字:如何根據UTC偏移量選擇時區?
時區:用戶的時區從UTC
抵消對我來說('America/Argentina/Buenos_Aires'
)是-3。
現在,我怎麼可以轉換數字爲pytz.timezone
?
謝謝!
我有一個愚蠢的問題。我解析Facebook的用戶數據,我也得到了時區數字:如何根據UTC偏移量選擇時區?
時區:用戶的時區從UTC
抵消對我來說('America/Argentina/Buenos_Aires'
)是-3。
現在,我怎麼可以轉換數字爲pytz.timezone
?
謝謝!
您可以使用tzinfo.tzname獲得的區域名稱。
這裏沒有一個1:1點的對應關係,所以沒有辦法做到這一點而不進行一些假設必然是無效的。
您可以創建自己的tzinfo
類編碼直接偏移沒有試圖把它回區。
作爲'tzinfo'子類別的替代方法,您可以使用''dateutil.tz.tzoffset'':https://labix.org/python-dateutil#head-8bf499d888b70bc300c6c8820dc123326197c00f – 2017-08-19 16:14:55
作爲@Mark Ransom said,多發性pytz.timezone
可以具有相同的UTC在給定日期的偏移。您可以打印特定日期的映射:
#!/usr/bin/env python
from collections import defaultdict
from datetime import datetime
import pytz # $ pip install pytz
dt = datetime.now(pytz.utc) # current time in UTC
zone_names = defaultdict(list)
for tz in pytz.common_timezones:
zone_names[dt.astimezone(pytz.timezone(tz)).utcoffset()].append(tz)
for offset, zone in sorted(zone_names.items()):
print("%.1f %s" % (offset.total_seconds()/3600, zone))
# -> -11.0 ['Pacific/Midway', 'Pacific/Niue', 'Pacific/Pago_Pago']
# ...
但我需要有一個時區。 – santiagobasulto 2012-07-25 19:43:16