Почему pytz.timezone ("US / Mountain"). Localize (datetime.datetime.now ()) дает мне мои фактические дату и время, а не US / Mountain? - PullRequest
0 голосов
/ 05 июля 2019

Я хочу преобразовать наивное время даты в не наивное время, локализованное в США / горах.Оказывается, это просто дает мне не наивный datetime.datetime.now () с -06: 00 в конце даты и времени.

naive_datetime = datetime.datetime.now() # Naive datetime

mtn_timezone = pytz.timezone("US/Mountain")

naive_datetime = mtn_timezone.localize(naive_datetime)

print(naive_datetime)

Ожидаемый результат (дата и время в США / горах): 2019-07-04 22: 05: 04.644687-06: 00

Полученный результат: 2019-07-05 01:05: 04.644487-06: 00

Этот полученный вывод фактически является моим местным временем и датой, локализованным в Аргентине

1 Ответ

0 голосов
/ 05 июля 2019

localize считает, что время правильное, просто отсутствует информация о часовом поясе.Вот почему на самом деле это не меняет время.

Вы хотите вместо astimezone, что дает тот же момент времени, преобразованный в выбранный часовой пояс:

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