В моем приложении django я храню время в моей базе данных (postgresql). Сохраненное время выглядит так в DB: 2015-03-23 16: 02: 12.163084 + 03. Проблема в том, что когда я получаю время, время, которое я получаю, всегда отстает на 3 часа. Как и в моем примере, дата, указанная выше, время, которое будет показано, будет отображаться 23 марта 2015 года 01:02:12. Обратите внимание на разницу во времени. Что я могу сделать для того, чтобы пользователю было показано время в соответствии с их часовым поясом?Django получить время в локальном часовом поясе
ответ
Поддержка часового пояса по умолчанию отключена. Чтобы включить его, установите USE_TZ = True в свой файл настроек. Установка pytz настоятельно рекомендуется, но может не быть обязательной в зависимости от конкретной базы данных, операционной системы и часового пояса. Если вы сталкиваетесь с вопросом о дате или времени запроса исключения, попробуйте установить его перед подачей ошибки. Это так же просто, как:
В settings.py
USE_TZ = True
Тогда
sudo pip install pytz
Когда поддержка часовых поясов включена, Django хранит информацию о дате и времени в формате UTC в базе данных, использует внутренние объекты времени и времени, связанные с временной зоной, и переводит их в часовой пояс конечного пользователя в шаблонах и формах.
Для более https://docs.djangoproject.com/en/1.7/topics/i18n/timezones/
Вы можете проверить разницу в шаблоне с помощью
{% load tz %}
{% localtime on %}
{{ value }}
{% endlocaltime %}
{% localtime off %}
{{ value }}
{% endlocaltime %}
часового пояса FAQ поможет вам
Попробуйте так:
from django.utils import timezone
from tzlocal import get_localzone # pip install tzlocal
local_tz = get_localzone()
timezone.activate(local_tz)
timezone.localtime(timezone.now())
Я, наконец, понял. Поскольку я создавал JSON на стороне сервера для таблиц данных, я просто решил вернуть время в UTC для стартеров. Затем, на переднем конце, когда я инициализировать таблицы данных, я локализовать время, используя moment.js как:
"aoColumnDefs":[
{
"aTargets": [3, 4], //Columns containing UTC time
"mRender": function(data, type, full){
if(data){
var mDate = moment(data);
return (mDate && mDate.isValid()) ? mDate.format("L LT") : "";
}
return "";
}
}
]
Это отлично работает :-)
- 1. Не удается получить время для отображения в локальном часовом поясе
- 2. Как получить текущую дату и время в локальном часовом поясе?
- 3. wget file timestamp в локальном часовом поясе
- 4. Анализ данных JavaScript в локальном часовом поясе
- 5. Как распечатать дату и время Python в локальном часовом поясе?
- 6. Как получить время в часовом поясе JST?
- 7. Как отобразить strtotime в локальном часовом поясе
- 8. Cronjob не работает в локальном часовом поясе
- 9. ruby get Время в заданном часовом поясе
- 10. Как отображать время в часовом поясе пользователя?
- 11. В SSMS отображать значение DateTimeOffset в локальном часовом поясе
- 12. Rails Форма отображения даты и времени в локальном часовом поясе
- 13. Поддерживает ли Django DateTimeField время с информацией о часовом поясе?
- 14. Как хранить данные в UTC и локальном часовом поясе
- 15. Rails: разница в часовом поясе на локальном и производственном уровнях
- 16. Получить информацию о часовом поясе в Outlook
- 17. Как получить местное время в другом часовом поясе в Silverlight
- 18. Как получить фиксированное время в фиксированном часовом поясе в рубине?
- 19. Django DateTimeField с информацией о часовом поясе
- 20. Отображение времени в локальном часовом поясе в WPF/XAML
- 21. отображение местоположения в часовом поясе
- 22. Flash AS3 получить время в другом часовом поясе
- 23. Как получить дату/время в определенном часовом поясе?
- 24. Python получить текущее время в нужном часовом поясе
- 25. PHP - получить текущее время в определенном часовом поясе
- 26. Получить текущее время в заданном часовом поясе: android
- 27. Как получить местное время в другом часовом поясе
- 28. Как отображать время в локальном часовом поясе пользователя, если у меня есть это время в UTC?
- 29. Создавать pandas timezone-aware datetimeindex в уже локальном часовом поясе
- 30. ISO8601 DateTime Строка, которая будет отображаться в локальном часовом поясе
USE_TZ = True ... Я уже сделал что. Может ли проблема заключаться в том, что я на самом деле JSON, кодирующий результаты запроса и выполняющий с ней другие функции, а не на самом деле помещая результат запроса в контекст шаблона? – Denny