我有以下行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
。
虽然当我将它保存为一个简单的字符串时,它会保存在当前时区,即“亚洲/加尔各答”输出为字符串:2014-12-17 11:01:53.028852+05:30