次の関連設定を持つ Django 1.6 プロジェクトがあります。
TIME_ZONE = 'America/Los_Angeles'
TIME_FORMAT = 'Hi'
DATE_FORMAT = 'Y M d'
DATETIME_FORMAT = '%s %s e' % (DATE_FORMAT, TIME_FORMAT)
USE_TZ = True
USE_L10N = False
session
という日時フィールドを持つオブジェクトがありますstart
。
>>> session.start
datetime.datetime(2014, 6, 7, 15, 0, tzinfo=<UTC>)
その日時をプロジェクトのローカル タイムゾーンで表示したいのですが、
>>> from django.utils import timezone
>>> timezone.localtime(session.start)
datetime.datetime(2014, 6, 7, 8, 0, tzinfo=<LocalTimezone>)
ここまでは順調ですね。ここで、ローカルの日時を Unicode 文字列として表示したいと考えています。
>>> str(timezone.localtime(session.start))
'2014-06-07 08:00:00-07:00'
私の問題は-07:00
、タイムゾーンを として表示したいのではなく、 PDT
. どうすればこれを変更できますか?
理想的には、で指定された形式を使用して、ローカルの日時を Unicode 文字列に変換したいだけですDATETIME_FORMAT
。日付形式文字列のドキュメントには、e
「日時に応じて、任意の形式にするか、空の文字列を返す可能性がある」と記載されていますが、必要な形式を指定する方法は示されていません。