我在 python manager.py shell
中有以下代码:
>>> import pytz
>>> from django.utils import timezone
>>> zone = "Asia/Kolkata"
>>> timezone.activate(pytz.timezone(zone))
>>> timezone.now()
datetime.datetime(2014, 12, 17, 1, 52, 0, 411937, tzinfo=<UTC>)
但是我得到的输出仍然使用UTC。难道它不应该转换成“亚洲/加尔各答”吗?
更新
如果我使用下面dazedconfused
建议的命令:
zone = "Asia/Kolkata"
if zone:
timezone.activate(pytz.timezone(zone))
else:
timezone.deactivate()
utc_date = datetime.utcnow()
aware_date = timezone.make_aware(utc_date, timezone.utc)
l_time = timezone.localtime(aware_date, timezone.get_current_timezone())
现在,当我尝试将其保存到我的数据库(Mongolab上的Mongodb)中时,它会以UTC
格式保存。
我的数据库中有一个DateTimeField
。
尽管当我将其保存为简单字符串时,它会以当前时区“Asia/kolkata”保存。字符串输出为:2014-12-17 11:01:53.028852+05:30