Как стать автором
Обновить

Комментарии 2

Пробовал изначально настроить время сервера на Москву (как пример), используя pytz.timezone('Europe/Moscow') вместо timezone.utc в качестве параметра для datetime.now(), в таком случае без использования flask-moment время выводилось корректное. С началом использования flask-moment время прыгнуло вперед на 3ч, пришлось менять обратно на utc для корректного отображения.

Понимаю, что время сервера в данном контексте не столь значительно, но на случай, если мне бы захотелось установить для сервера московское время вместо Гринвича, кто-нибудь может подсказать, в чем может быть причина и как это сделать правильно? Возможно, сам moment заточен на время UTC?

В главе указано как работает Flask-Moment и какие принимает аргументы.

Если вы не знакомы со стандартным форматом даты и времени ISO 8601, этот формат выглядит следующим образом:

{yyyy}-{mm}-{dd}T{hh}:{mm}:{ss}{tz}

Итак, как вы можете видеть, Flask-Moment использует синтаксис, аналогичный синтаксису библиотеки JavaScript, с одним отличием, заключающимся в том, что аргументом для moment() теперь является объект Python datetime, а не строка ISO 8601. Вызов moment(), выполняемый из шаблона, автоматически генерирует необходимый код JavaScript для вставки отображаемой временной метки в нужное место DOM.

Соответственно вам нужно в метод format передать метку вашей временной зоны, что-то вроде +03:00, более подробно в документации Flask-Moment и Moment.js

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории