У меня есть уведомление о часовом поясе timestamptz
Поле в PostgreSQL. Когда я извлекаю данные из таблицы, я тогда хочу вычесть время прямо сейчас, чтобы получить возраст.Невозможно вычесть время с наименьшим временем смещения и смещения
Проблема у меня в том, что оба datetime.datetime.now()
и datetime.datetime.utcnow()
, кажется, вернуть часовой пояс не подозревая метки времени, что приводит меня получаю эту ошибку:
TypeError: can't subtract offset-naive and offset-aware datetimes
Есть ли способ избежать этого (желательно без третьего -партийный модуль).
EDIT: Спасибо за предложения, однако, пытаясь настроить часовой пояс, кажется, дает мне ошибки .. так что я просто хочу, чтобы использовать часовой пояс не подозревая временные метки в PG и всегда вставлять с помощью:
NOW() AT TIME ZONE 'UTC'
Это по умолчанию все мои временные метки UTC по умолчанию (хотя это более раздражает).
Это, по-видимому, единственный способ сделать это. Кажется довольно хромым, что у python есть такая дерьмовая поддержка часовых поясов, что нужен сторонний модуль для правильной работы с отметками времени. – Ian
python 3000 должен быть в порядке. – phillc
(Только для записи). Фактически добавление информации о часовом поясе может быть лучшей идеей: http://stackoverflow.com/a/4530166/548696 – Tadeck