Yanıtlar:
Geçerli zaman dilimlerinin listesi:
http://en.wikipedia.org/wiki/List_of_tz_database_time_zones
Kullanabilirsiniz
TIME_ZONE = 'Europe/Istanbul'
UTC + 02: 00 için
Tüm geçerli bir saat dilimi adlarına (kimlikleri) bir dizi almak için tz veritabanı , sen verebilir kullanmak pytz
Python modülü :
>>> 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 veritabanından geçerli bir saat dilimi seçin . Onlar formu örneğin almak eğilimindedir Africa/Gaborne
veUS/Eastern
Size en yakın şehri veya saat dilimine sahip olanı bulun, ardından değerinizi TIME_ZONE
eşleşecek şekilde ayarlayın.
Geçerli saat dilimi değerleri, Linux ve diğer Unix sistemleri tarafından kullanılan tz (saat dilimi) veritabanını temel alır. Şeklinde “: Değerler dizeleri (string xsd) olan Alan / Konum ,” içinde:
Alan bir kıta veya okyanus adıdır. Alan şu anda şunları içerir:
Konum şehir, ada veya diğer bölgesel addır.
Bölge adları ve çıktı kısaltmaları, Greenwich'in batısında pozitif (+) işaretler ve Greenwich'in doğusunda (genellikle) beklenenin tersi olan negatif (-) işaretler kullanan POSIX (taşınabilir işletim sistemi arabirimi) UNIX kurallarına uyar. Örneğin, “Etc / GMT + 4”, UTC'den (Coordated Universal Time) (Greenwich'in doğusundan) 4 saat öncesinden ziyade UTC'nin (Greenwich'in batısında) 4 saat gerisine karşılık gelir.
İşte tüm geçerli zaman dilimlerinin listesi
Saat dilimini ayarlarınızda aşağıdaki gibi değiştirebilirsiniz.
LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'Asia/Kolkata'
USE_I18N = True
USE_L10N = True
USE_TZ = True
TIME_ZONE ürününü yerel saat diliminize değiştirin ve 'setting.py'de USE_TZ öğesini True olarak saklayın:
TIME_ZONE = 'Asya / Şangay'
USE_I18N = Doğru
USE_L10N = Doğru
USE_TZ = Doğru
Bu datetime nesnesini arka uç veritabanına UTC olarak yazar ve saklar .
Ardından , ön uç şablonunuzdaki UTC saatini şu şekilde dönüştürmek için şablon etiketini kullanın:
<td>
{% load tz %}
{% get_current_timezone as tz %}
{% timezone tz %}
{{ message.log_date | time:'H:i:s' }}
{% endtimezone %}
</td>
veya şablon filtreleri kısaca kullanın :
<td>
{% load tz %}
{{ message.log_date | localtime | time:'H:i:s' }}
</td>
Resmi dokümanda daha fazla ayrıntı kontrol edebilirsiniz: Varsayılan saat dilimi ve geçerli saat dilimi
Zaman dilimleri için destek etkinleştirildiğinde, Django datetime bilgilerini UTC'de veritabanında depolar, zaman dilimine duyarlı datetime nesnelerini dahili olarak kullanır ve bunları şablonlarda ve formlarda son kullanıcının saat dilimine çevirir.
en son pytz dosyasını indirin (pytz-2019.3.tar.gz):
https://pypi.org/simple/pytz/
kopyala ve site_packages
projede dizine çıkar
cmd'de ayıklanan klasöre gidin ve çalıştırın:
python setup.py install
TIME_ZONE = 'Etc/GMT+2'
veya ülke adı