Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python django在数据库中输入datetime很重要_Python_Mysql_Django - Fatal编程技术网

Python django在数据库中输入datetime很重要

Python django在数据库中输入datetime很重要,python,mysql,django,Python,Mysql,Django,在我的Django应用程序中,我有一个视图,可以将数据提交到任务模型的数据库中。其中一个字段包括时间。每当我提交这些数据,然后将其读回我的应用程序时,它看起来都是正确的(即我的索引页上有所有对象的列表)。但是,当我查看数据库条目时,它们都是在我输入内容5小时后存储的。。让我困惑的是,它们是如何被错误地输入的,以及为什么它会正确地显示在我的索引中。我检查了添加它的位置,如下所示 hour = int(request.POST['time'][:2] #request.POST['time'] is

在我的Django应用程序中,我有一个视图,可以将数据提交到任务模型的数据库中。其中一个字段包括时间。每当我提交这些数据,然后将其读回我的应用程序时,它看起来都是正确的(即我的索引页上有所有对象的列表)。但是,当我查看数据库条目时,它们都是在我输入内容5小时后存储的。。让我困惑的是,它们是如何被错误地输入的,以及为什么它会正确地显示在我的索引中。我检查了添加它的位置,如下所示

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小时。因此结果

谢谢,这是一个令人讨厌的细节。请修复您的代码-它包含语法错误(查看语法突出显示,您将看到有错误的引号)。