我使用django,并且有两个带有models.DateTimeField()的模型。有时我需要一份日期副本 - 但请看一下:
>>>myobject.date = datetime.datetime.now()
>>>print myobject.date
>>>2010-04-27 12:10:43.526277
>>>other_object.date_copy = myobject.date
>>>print other_object.date_copy
>>>2010-04-27 12:10:43
为什么这两个日期不相同,我如何制作myobject.date的精确副本?
编辑:
我错误地过度简化了我使用的代码。以下代码将复制怪异:
>>>myobject.date = datetime.datetime.now()
>>>print myobject.date
>>>2010-04-27 12:10:43.526277
>>>myobject.save()
>>>myobject_retrieved_from_db = Myobject.objects.get(id=myobject.id)
>>>other_object.date_copy = myobject_retrieved_from_db.date
>>>print other_object.date_copy
>>>2010-04-27 12:10:43
正如Petriborg所说,时间上的差异是由于存储到数据库造成的:
>>>print myobject_retrieved_from_db.date
>>>2010-04-27 12:10:43
神秘解决了。
答案 0 :(得分:3)
你使用的是什么版本的python?
似乎为我工作......
In [3]: s = datetime.datetime.now()
In [4]: x = s
In [5]: print s
------> print(s)
2010-04-27 06:37:02.303067
In [6]: print x
------> print(x)
2010-04-27 06:37:02.303067
您是否通过django将日期时间存储为第三方结构,如sqldb?时间结构通常是{int seconds; int fractional_seconds;或者是一个很长的毫秒,所以可能是第二部分被结构或者向下投射掉落......