【发布时间】:2014-11-22 16:58:18
【问题描述】:
我想添加我从用户输入创建的日期时间对象。但我只想在这个模型中添加这个没有时区。我尝试了几种不同的方法,但都没有奏效。
models.py
class troops_command(models.Model):
datetime = models.DateTimeField('ki')
我如何创建对象:
datetime_object = datetime_module.datetime.strptime(datetime_string, format_datetime)
import pytz
datetime_object = pytz.timezone("Europe/London").localize(datetime_object, is_dst=None)
之后:
>>> print(datetime_object)
2014-11-22 14:49:00+00:00
但是当我将它添加到数据库时:
Troops_command_model.objects.create(datetime=datetime)
数据库返回:
2014-11-22 15:49:00+01
settings.py
TIME_ZONE = 'Europe/Warsaw'
【问题讨论】:
-
但是您的
datetime_object确实有一个时区Europe/London。您的意思是您希望它以 UTC 格式存储(即时区偏移量为 0)?它将始终以 UTC 格式存储,并且您可以控制向用户显示的时区。不用担心控制台打印的内容,这取决于数据库,与用户看到的内容无关。 -
是的,但是伦敦有 +0,所以在 DB 中应该 +0 而不是 +1...我找到了解决方案,请查看我的新帖子。
标签: django