Смена часовых поясов - PullRequest
0 голосов
/ 06 июня 2018

Когда я попытался использовать datetime module

In [31]: datetime.now()
Out[31]: datetime.datetime(2018, 6, 6, 8, 59, 35, 49991)
In [32]: str(datetime.now())
Out[32]: '2018-06-06 08:59:45.633486'

, я намеревался изменить свое местное время, но потерял в десятках модулей часового пояса и стороннего пакета как pytz.

Как я могу переключаться между часовыми поясами прямым путем?

1 Ответ

0 голосов
/ 06 июня 2018

Встроенный модуль datetime предоставляет вам базовые классы и структуры данных для работы с часовыми поясами, но он не содержит фактических данных часового пояса.Это потому, что такие данные иногда обновляются и пересматриваются, и вы не захотите, чтобы они были жестко закодированы в дистрибутив Python.Вот тут-то и появляется модуль pytz, который можно устанавливать и обновлять отдельно.

На практике вы в основном имеете дело с datetime.datetime и pytz.timezone:

from datetime import datetime
import pytz

datetime.now(pytz.timezone('Asia/Tokyo'))

Если вы работаете только в UTC, это единственный часовой пояс, в который встроен Python:

from datetime import datetime, timezone

datetime.now(timezone.utc)

Вы должны внимательно прочитать примечания по использованию pytz, когда использовать datetime.astimezone, localize и когдапередать часовой пояс в качестве аргумента функции datetime: http://pytz.sourceforge.net/#example-usage.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...