Відповіді:
Ось список дійсних часових поясів:
http://en.wikipedia.org/wiki/List_of_tz_database_time_zones
Можна використовувати
TIME_ZONE = 'Europe/Istanbul'
за UTC + 02: 00
Щоб отримати набір усіх дійсних імен часових поясів (ідентифікаторів) з бази даних tz , ви можете використовувати pytz
модуль в Python :
>>> import pytz # $ pip install pytz
>>> pytz.all_timezones_set
LazySet({'Africa/Abidjan',
'Africa/Accra',
'Africa/Addis_Ababa',
'Africa/Algiers',
'Africa/Asmara',
'Africa/Asmera',
...
'UTC',
'Universal',
'W-SU',
'WET',
'Zulu'})
pytz.common_timezones
.
Виберіть дійсний часовий пояс із бази даних tzinfo . Вони, як правило, приймають форму, наприкладAfrica/Gaborne
іUS/Eastern
Знайдіть місто, яке відповідає найближчому до вас місту, або місто, яке має ваш часовий пояс, а потім встановіть значення, TIME_ZONE
яке відповідає вашому .
Дійсні значення timeZone базуються на базі даних tz (часовий пояс), що використовується Linux та іншими системами Unix. Значення - це рядки (xsd: string) у формі " Площа / місцеположення ", в якій:
Площа - назва континенту чи океану. В даний час область включає:
Розташування - місто, острів чи інша регіональна назва.
Назви зон та абревіатури виведення дотримуються POSIX (інтерфейс портативної операційної системи) UNIX-конвенцій, який використовує позитивні (+) знаки на захід від Грінвіча та негативні (-) знаки на схід від Грінвічу, що є протилежним до очікуваного. Наприклад, "Etc / GMT + 4" відповідає на 4 години поза UTC (тобто на захід від Грінвічу), а не на 4 години попереду UTC (Універсальний координований час) (на схід від Грінвіч).
Ось список усіх дійсних часових поясів
Ви можете змінити часовий пояс у своєму settings.py наступним чином
LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'Asia/Kolkata'
USE_I18N = True
USE_L10N = True
USE_TZ = True
Змініть TIME_ZONE у вашому локальному часовому поясі та збережіть USE_TZ як "True" у "settings.py":
TIME_ZONE = 'Азія / Шанхай'
USE_I18N = Істинно
USE_L10N = Істинно
USE_TZ = Істинно
Це дозволить записати та зберегти об’єкт дати як UTC у резервній базі даних.
Потім використовуйте тег шаблону для перетворення часу UTC у вашому шаблоні фронту:
<td>
{% load tz %}
{% get_current_timezone as tz %}
{% timezone tz %}
{{ message.log_date | time:'H:i:s' }}
{% endtimezone %}
</td>
або використовувати фільтри шаблонів стисло:
<td>
{% load tz %}
{{ message.log_date | localtime | time:'H:i:s' }}
</td>
Ви можете дізнатися більше деталей в офіційному документі: часовий пояс за замовчуванням та поточний часовий пояс
Коли ввімкнено підтримку часових поясів, Django зберігає інформацію про дату в UTC у базі даних, використовує внутрішньо відомі часові пояси об'єкти дати та переводить їх у часовий пояс кінцевого користувача у шаблони та форми.
завантажити останній файл pytz (pytz-2019.3.tar.gz) з:
https://pypi.org/simple/pytz/
скопіюйте та витягніть його в site_packages
каталог проекту yor
у cmd перейдіть до витягнутої папки та запустіть:
python setup.py install
TIME_ZONE = 'Etc/GMT+2'
або назва країни