我的格式为“2012-05-19 19时13分00秒”一个天真的日期和时间,需要将它存储使用Django 1.4和时区感知能力。
虽然没有办法知道什么时区的日期是在最初,它似乎很有道理保存它,就好像它是UTC。
然而,使用pytz等等,我不知道如何转换不具有时区为UTC日期时间的日期。
我的格式为“2012-05-19 19时13分00秒”一个天真的日期和时间,需要将它存储使用Django 1.4和时区感知能力。
虽然没有办法知道什么时区的日期是在最初,它似乎很有道理保存它,就好像它是UTC。
然而,使用pytz等等,我不知道如何转换不具有时区为UTC日期时间的日期。
如果它没有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”。