“ObjectId”对象没有属性“getTimeStamp”

2024-07-05 11:03:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从ObjectID获取时间戳,但是Mongo一直给我这个错误。我是不是少了一个进口?将时间戳转换为标准日期格式的最佳方法是什么?

video['date'] = video['_id'].getTimeStamp()

Tags: 方法id标准datemongovideo格式错误
2条回答

这个答案是基于python和Django的。
在使用generation_time之前,请注意generation_time将被转换为UTC(世界时),它可能在前面或后面,这取决于您的当前时区,因此如果您在项目设置中使用本地时间来保存对象的时间戳,您可能会看到时间上的差异。对我来说,差5.5个小时。所以根据你的时区调整时间。

示例: 对于ObjectId('5c51aca67c76124020edbbaf'),这个对象的实际创建时间是datetime.datetime(2019, 1, 30, 19, 24, 28, 73000) 但当我用generation_time计算出它的时间时,它落后了5.5个小时。

In [10]: from bson import ObjectId

In [11]: ObjectId('5c51aca67c76124020edbbaf').generation_time
Out[11]: datetime.datetime(2019, 1, 30, 13, 54, 46, tzinfo=<bson.tz_util.FixedOffset object at 0x102461128>)

你在哪里看到getTimeStamp()作为一种方法?

根据docs它应该是:

video['date'] = video['_id'].generation_time

相关问题 更多 >