Часовые пояса в Python - PullRequest
       1

Часовые пояса в Python

5 голосов
/ 15 февраля 2012

В приложении Python мне нужно знать текущий день.datetime.date.today() работает хорошо.Проблема заключается в том, что при развертывании программы на моем сервере, расположенном в США, моей пользовательской базе (то есть итальянской) представляется дата, которая может быть неправильной (поскольку сервер находится в 6 часовых поясах).

Как я могу построить объект даты в python в соответствии с конкретным часовым поясом ?Спасибо

Ответы [ 3 ]

5 голосов
/ 15 февраля 2012

Обычно серверное приложение выполняет все свое время хранения и вычисления в UTC.Время также будет передано клиенту в UTC.Затем вы выполняете преобразование в местное время на стороне client (в Javascript, если это веб-приложение).Серверу очень сложно правильно выбрать часовой пояс для каждого клиента, потому что на сервере просто нет всей информации.

Даже если ваше приложение предназначено специально для итальянских пользователей, оно известнопутешествие в другие часовые пояса.

4 голосов
/ 16 февраля 2012

Все согласны с тем, что UTC замечательно, но это мало поможет, если в США запускается datetime.date.today() без часового пояса.Если база пользователей находится в Италии, и это дата, которую вы хотите показать ...

import datetime
import pytz

IT = pytz.timezone('Europe/Rome')
oggi = datetime.now(IT).date()
0 голосов
/ 15 февраля 2012

доступ к классу, создание экземпляра, установка собственного времени, доступ к этому объекту каждый раз, когда вы хотите время.

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