Найти - Пользователи
Полная версия: Как преобразовать локальное время в UTC?
Начало » Python для новичков » Как преобразовать локальное время в UTC?
1
Ivan_Ro
Как преобразовать локальное время в UTC?

Если использую такой вариант, то выдаёт неожиданный результат, не понимаю почему?
 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
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:
 pytz.timezone("America/Los_Angeles").localize(datetime.strptime("05/08/2020 07:06AM", '%m/%d/%Y %H:%M%p')).astimezone(tz=timezone.utc).isoformat()
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB