Как преобразовать локальное время в UTC?

Ivan Ro

Новичок
Пользователь
Май 3, 2020
6
1
3
Как преобразовать локальное время в UTC?

Если использую такой вариант, то выдаёт неожиданный результат, не понимаю почему?
Python:
from datetime import datetime, timezone, timedelta
import pytz

print(datetime.strptime("05/08/2020 07:06AM", '%m/%d/%Y %H:%M%p').replace(tzinfo=pytz.timezone("America/Los_Angeles")).astimezone(tz=timezone.utc).isoformat())
Результат:
>>> 2020-05-08T14:59:00+00:00

А должно быть:
>>> 2020-05-08T14:06:00+00:00
 

Ivan Ro

Новичок
Пользователь
Май 3, 2020
6
1
3
Quote from the documentation of pytz:
Unfortunately, using the tzinfo argument of standard datetime constructors does not work with pytz for many time zones.

Solution:
Python:
pytz.timezone("America/Los_Angeles").localize(datetime.strptime("05/08/2020 07:06AM", '%m/%d/%Y %H:%M%p')).astimezone(tz=timezone.utc).isoformat()
 

Форум IT Специалистов