Python django在数据库中输入datetime很重要
在我的Django应用程序中,我有一个视图,可以将数据提交到任务模型的数据库中。其中一个字段包括时间。每当我提交这些数据,然后将其读回我的应用程序时,它看起来都是正确的(即我的索引页上有所有对象的列表)。但是,当我查看数据库条目时,它们都是在我输入内容5小时后存储的。。让我困惑的是,它们是如何被错误地输入的,以及为什么它会正确地显示在我的索引中。我检查了添加它的位置,如下所示Python django在数据库中输入datetime很重要,python,mysql,django,Python,Mysql,Django,在我的Django应用程序中,我有一个视图,可以将数据提交到任务模型的数据库中。其中一个字段包括时间。每当我提交这些数据,然后将其读回我的应用程序时,它看起来都是正确的(即我的索引页上有所有对象的列表)。但是,当我查看数据库条目时,它们都是在我输入内容5小时后存储的。。让我困惑的是,它们是如何被错误地输入的,以及为什么它会正确地显示在我的索引中。我检查了添加它的位置,如下所示 hour = int(request.POST['time'][:2] #request.POST['time'] is
hour = int(request.POST['time'][:2] #request.POST['time'] is formatted HH:MM AM
minute = int(request.POST['time'][3:5]
pmOffset = 0
if 'PM' in request.POST['time']:
pmOffset = 12
print task.date
task.date = datetime.now().replace(hour=hour+pmOffset, minute=minute)
print task.date
#some other fields
print task.date
task.save()
print task.date
如果我说在我的表单中输入07:00 AM,这些打印语句会显示为上午7点,但存储的任务中有中午。有人知道为什么会这样吗?我完全不知所措。如果您需要更多信息,请询问。它正在按照设计的方式工作。默认情况下 时间戳列的值将从当前时区转换为UTC进行存储,从UTC转换为当前时区进行检索
在django设置中,时间比UTC晚5小时。因此结果谢谢,这是一个令人讨厌的细节。请修复您的代码-它包含语法错误(查看语法突出显示,您将看到有错误的引号)。