回答:
有効なタイムゾーンのリストは次のとおりです。
http://en.wikipedia.org/wiki/List_of_tz_database_time_zones
使用できます
TIME_ZONE = 'Europe/Istanbul'
UTC + 02:00の場合
tzデータベースからすべての有効なタイムゾーン名(ID)のセットを取得するには、Pythonでモジュールを使用pytz
できます。
>>> 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値は、Linuxおよび他のUnixシステムで使用されるtz(タイムゾーン)データベースに基づいています。値は、「Area / Location」の形式の文字列(xsd:string)です。
Areaは大陸または海の名前です。現在、次のエリアが含まれています:
ロケーションは、都市、島、またはその他の地域名です。
ゾーン名と出力省略形は、POSIX(ポータブルオペレーティングシステムインターフェイス)UNIXの規則に準拠しています。これは、グリニッジの西側に正(+)の記号を、グリニッジの東側に負(-)の記号を使用します。たとえば、「Etc / GMT + 4」は、UTC(グリニッジの東)より4時間進んでいるのではなく、UTC(グリニッジの西)より4時間遅れていることに対応しています。
次のようにsettings.pyでタイムゾーンを変更できます
LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'Asia/Kolkata'
USE_I18N = True
USE_L10N = True
USE_TZ = True
TIME_ZONEをローカルタイムゾーンに変更し、「setting.py」でUSE_TZをTrueのままにします。
TIME_ZONE = 'アジア/上海'
USE_I18N =真
USE_L10N = True
USE_TZ = True
これにより、datetimeオブジェクトが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'
または国名