如何处理pytz的POSIX时区信息(如CST?

问题描述 投票:0回答:2

我有时区字符串'CST',并尝试在pytz中使用它。

不幸的是,这失败了:

cst = pytz.timezone('CST')

File "/home/user/venv/numba/lib/python3.6/site-packages/pytz/__init__.py", line 181, in timezone
  raise UnknownTimeZoneError(zone)
pytz.exceptions.UnknownTimeZoneError: 'CST'

为了避免此错误,我该怎么办?

python timezone pytz timestamp-with-timezone
2个回答
1
投票

CST本身不是有效的时区标识符。

无法知道CST是解释为(美国)“中央标准时间”(UTC-6),“古巴标准时间”(UTC-5)还是“中国标准时间”(UTC) +8)。

相反,传递完全合格的基于位置的IANA time zone identifier,例如America/ChicagoAmerica/HavanaAsia/Shanghai


0
投票
import pytz


def valid_timezone(timezone):
    try:
        pytz.timezone(timezone)
    except pytz.exceptions.UnknownTimeZoneError:
        return False
    return True

if valid_timezone('CST'):
    # go ahead...
    pass
else:
    # not supported timezone..
    pass
© www.soinside.com 2019 - 2024. All rights reserved.