好的,所以我读了很多关于如何使用utc时间并使用pytz转换时间的文章,所以它是有用的。我可以做到这一切,但它似乎是内置到Django作为管理页面,如果我创建一个条目与datetimefield,它显示为我的时间,保存为utc,如果我打开它回来编辑,它显示为我的时间再次。我的问题是,Django管理员是如何做到这一点的?我宁愿这样做,也不愿使用另一个模块。
Django有一个utc类来加载pytz。如果已安装pytz,则使用utc;如果未安装pytz,则使用自定义utc类。您可以将它用于datetime对象中的tzinfo参数,如下所示。
import datetime
from django.utils.timezone import utc
datetime.datetime(2013, 2, 20, 0, 0, tzinfo=utc)
我也不喜欢添加额外的依赖项,但我已经了解到pytz是您迟早需要的有用库之一。现在我把它默认包含在所有Django项目中