Найти - Пользователи
Полная версия: Как правильно работать со временем из разных часовых поясов.
Начало » Django » Как правильно работать со временем из разных часовых поясов.
1 2
ivn
Добрый день.
Подскажите, как обычно надо отрабатывать временные зоны.
Например, если у меня есть валидатор, который сверяет текущее время на сервере где запущен django со временем клиента (т.е. запрещать размещать посты после 22:00, в то время как на сервер 22:01, а у клиента 20:00 по его времени).
И еще к примеру регистрировать время добавления комментария пользователем и выводить его для разных регионов.
Спасибо.

JOHN_16
Есть общее правило - на сервере работать только с UTC. Т.е. хранить на сервере uCа с клиентом работать в локальнои времени
ivn
JOHN_16
uCа
а что это?
возвращать клиенту в каком виде? например
где то пишут, что лучше всего хранить в unix времени?!
FishHook
ivn
Хранить в БД? Так БД сама разберется, как именно ей хранить время.
ivn
Время храним в UTC, тут ясно
Если джанго рендерит шаблон для клиента, как ему (джанго) понять для какой зоны нужно вернуть время и как?
FishHook
ivn
понять для какой зоны нужно вернуть время и как?
https://docs.djangoproject.com/en/1.11/ref/utils/#django.utils.timezone.activate

просто активируйте нужную таймзону
ivn
если например вот так:
 timezone.activate(pytz.timezone("Europe/London"))
то, как определять
FishHook
нужную таймзону
?
брать из HTTP заголовков?
FishHook

helm2004
Вам , наверное, єто нужно
https://pypi.python.org/pypi/pytz
ivn
helm2004
Вам , наверное, єто нужно https://pypi.python.org/pypi/pytz
С помощью этого модуля можно преобразовать UTC время (которое хранится в БД) в нужный формат для нужного часового пояса, но как определить какой нужен часовой пояс для клиента, который отправил запрос? или как обычно это делают?

например я чатюсь с помощью браузера из Лондона с пользователем из Токио. У него в чате его время у меня в чате свое время, данные хранятся на сервер.
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