8

「2012-05-19 19:13:00」という形式の単純な日付と時刻があり、Django 1.4 とそのタイムゾーン認識機能を使用して保存する必要があります。

日付が元々どのタイムゾーンにあるかを知る方法はありませんが、UTC であるかのように保存することは理にかなっているようです。

ただし、pytz などを使用して、タイムゾーンのない日付を UTC 日時に変換する方法がわかりません。

4

1 に答える 1

6

tzinfo がない場合、もちろん UTC への変換はありません。代わりに、datetime オブジェクトをタイムゾーン対応のものにすることができます。

import datetime
from pytz import UTC

dt = datetime.datetime.now()  # just some date
tz_aware_dt = dt.replace(tzinfo=UTC)

編集:

django 1.4の移行ガイドでは、これを使用して上記を実現しています。

>>> from django.utils.dateparse import parse_datetime
>>> naive = parse_datetime("2012-02-21 10:28:45")
>>> import pytz
>>> pytz.timezone("Europe/Helsinki").localize(naive)
datetime.datetime(2012, 2, 21, 10, 28, 45, tzinfo=<DstTzInfo 'Europe/Helsinki' EET+2:00:00 STD>)

「UTC」を「Europe/Helsinki」に置き換えて、おそらくそのバージョンを使用する必要があります。

于 2012-05-19T18:39:49.483 に答える