Timedelta объекта даты и времени и объекта часового пояса - PullRequest
0 голосов
/ 18 февраля 2020

У меня есть строка даты и времени в формате ГГ / М / Д / Ч, которая уже приведена к часовому поясу PST и сохранена. Читая его, я делаю следующее

submitted_time = '2020/02/13/11/16'
submitted_datetime = datetime.strptime(submitted_time, '%Y/%m/%d/%H/%M')

Это время уже находится в часовом поясе PST, и чтобы рассчитать разницу во времени, я попытался сделать следующее:

from pytz import timezone
pacific = timezone('America/Los_Angeles')
today = datetime.now().astimezone(pacific)

Но сегодня - submit_datetime выиграл ' т работа. Я получаю следующую ошибку:

*** TypeError: невозможно вычесть смещенные наивные и смещенные datetime

Есть ли способ, которым я могу заставить это работать ? Любая помощь с благодарностью.

1 Ответ

0 голосов
/ 18 февраля 2020

С предоставленным вами кодом, я сомневаюсь, что submitted_time будет интерпретироваться как информация о часовом поясе, не говоря уже о PST. Если вы преобразуете его в объект datetime с учетом часового пояса, то вычитание работает:

from datetime import datetime
from pytz import timezone
submitted_time = datetime.strptime('2020/02/13/11/16', '%Y/%m/%d/%H/%M')
pacific = timezone('America/Los_Angeles')
today = datetime.now().astimezone(pacific)
submitted_time = submitted_time.astimezone(pacific)
print(today - submitted_time)

Вывод:

5 days, 4:50:57.251801
...