我有一个代码,用于计算给定的日期时间,如下所示
time = datetime.datetime.now() - datetime.timedelta(minutes=60)
然后我使用time
设置要保存在数据库中的offer
对象中的字段。 offer.time
是Offer
模型实例;它被配置为:
time = models.DateTimeField(blank=True, null=True)
但是,调用offer.save()
时会更新offer.time。设置offer.time = time
时,我得到2017-04-29 09:36:14.895581
。致电offer.save
后,offer.time
为2017-04-29 09:36:14.895000
。为什么save()
不保留原始时间?
有什么想法吗?
提前致谢。
答案 0 :(得分:2)
https://docs.mongodb.com/manual/reference/method/Date/
在内部,Date对象存储为64位整数表示 自Unix纪元(1970年1月1日)以来的毫秒数 导致可表示的日期范围约为2.9亿年 过去和未来。
这解释了2017-04-29 09:36:14.895581
成为2017-04-29 09:36:14.895000
2017-04-29 09:36:14
将存储为1493458574000
,只留下3个小数来存储毫秒数。添加毫秒时,该值将为1493458574895
。将其读回DateTimeField
后,该值将为2017-04-29 09:36:14.895000
。