Работа с датами и часовыми поясами в проекте Python - PullRequest
1 голос
/ 23 июля 2010

В стороннем проекте мне приходится управлять, сравнивать и отображать даты из разных форматов. Какую стратегию дизайна следует придерживаться?

Я планировал:

  1. Все даты анализируются в соответствии с их форматировать и хранить в БД в Формат Python с 9 кортежами, использующий UTC
  2. Когда мне нужно сделать расчеты и сравнивает я преобразовываю 9-кортеж в объект datetime (с использованием UTC). Если я должны хранить в памяти некоторую дату Расчет я использую снова 9 кортеж формат
  3. На время интерфейса пользователя отображение конвертации из UTC в часовой пояс пользователя

Есть ли у вас какие-либо отзывы об этой стратегии?

1 Ответ

2 голосов
/ 23 июля 2010

Я бы использовал собственный формат даты и времени в БД, а не в этом формате «9 кортежей». Это упростит запросы и, вероятно, будет более экономичным.

Не должно быть слишком сложно преобразовать его обратно в объект даты и времени Python. Вы можете использовать модуль dateutil, если у вас возникли проблемы.

Я думаю, что вы правы в том, чтобы поддерживать постоянный часовой пояс во всей БД и преобразовывать его в часовой пояс пользователя, когда вам нужно.

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