Django DateTimeField是否支持时区信息?

时间:2013-06-04 23:14:20

标签: django python-2.7 django-forms

当我使用时区信息发布时间时,例如:2013-02-27T14:00:00-05:00到Django datetime字段会抛出表单错误“输入有效的日期/时间。”。

我的表单字段定义如下

 time = forms.DateTimeField()

我还尝试将日期格式传递给表单提交。例如:

DATE_FORMATS = [
    '%Y-%m-%dT%H:%M:%S-%z',
]
time = forms.DateTimeField(input_formats=DATE_FORMATS)

Django DateTimeField是否不支持时区信息时间?

1 个答案:

答案 0 :(得分:0)

是的! Django DateTimeField支持时区,但是如果您查看文档,则必须将其与表单中的实际DateTime分开指定。具体来说,文档建议您基于每个用户激活时区,否则您将始终以默认时区输入DateTime。

https://docs.djangoproject.com/en/dev/topics/i18n/timezones/#time-zone-aware-input-in-forms

这是我用于项目的文档,效果很好。

此外,如果您需要在表单字段中指定特定时区,则始终可以创建一个包含所有时区的下拉字段,然后使用正确的时区将DateTime保存在视图中。