Как обрабатывать информацию о часовом поясе POSIX (например, CST) для pytz? - PullRequest
0 голосов
/ 05 апреля 2020

У меня есть строка часового пояса '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'

Что мне нужно сделать, чтобы избежать этой ошибки?

Ответы [ 2 ]

1 голос
/ 06 апреля 2020

CST само по себе не является допустимым идентификатором часового пояса.

Нет никакого способа узнать, должно ли CST интерпретироваться как (США) "Центральное стандартное время" (UT C) -6), «Стандартное время Кубы» (UT C -5) или «Стандартное время Китая» (UTC + 8).

Вместо этого передайте полностью определенное местное время IANA идентификатор зоны , например America/Chicago, America/Havana или Asia/Shanghai.

0 голосов
/ 05 апреля 2020
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
...