2015-06-29 6 views
1

Я разбираю XML-файл с датами в GMT. Это мой первый опыт работы с часовыми поясами, поэтому у меня возникли трудности с отображением правильного времени. В XML-файле дата выглядит так.Python Django: изменение часового пояса

2015-06-29 23:05 

Я создал свою модель с базовой даты и времени поля, как это:

date = models.DateTimeField() 

... мой settings.py имеет:

USE_TZ = True 
TIME_ZONE = 'America/Toronto' 

Однако, когда я показываю время с помощью просмотров он показывает 3:05. Не совсем уверен, что я буду делать дальше.

ответ

1

Невозможно определить часовой пояс предоставленного времени. Если вы знаете, что это всегда GMT, а затем конвертируйте из GMT в ваш местный часовой пояс, который является «Америка/Торонто» в вашем случае.

Если возможно, я рекомендую изменить формат даты в вашем XML. Используйте UTC, так как он предоставляет информацию о часовом поясе.

Проверить эту ссылку из: Python - Convert UTC datetime string to local datetime

чтения я рекомендую для работы со временем. UTC: http://www.w3.org/TR/NOTE-datetime Django Time Zone Docs: https://docs.djangoproject.com/en/1.8/topics/i18n/timezones/

+0

Im разбор XML-файла с другого веб-сервера. Итак, в основном после разбора, я должен преобразовать его в UTC и сохранить его в БД, как это правильно? –

+0

Правильно. Пока вы знаете, что дата в XML всегда находится в определенном часовом поясе. это всегда GMT? затем преобразуйте его в формат UTC и установите часовой пояс в GMT. – Peyman

+0

Да, у xml-канала всегда будет время по Гринвичу, но зачем мне устанавливать часовой пояс на GMT? –

Смежные вопросы