将pymongo毫秒转换为不同的格式

Convert pymongo millisecond to different format

我正在尝试使用 datetime:

将 'bson.int64.Int64' 类型的 1614100501543 转换为格式化日期

下面的代码:

print(results[0][0] , type(results[0][0]))

print(datetime.utcfromtimestamp(results[0][0]).strftime('%Y-%m-%d %H:%M:%S'))

returns :

1614100501543 <class 'bson.int64.Int64'>
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-142-97decf382ca6> in <module>
      1 print(results[0][0] , type(results[0][0]))
      2 
----> 3 print(datetime.utcfromtimestamp(results[0][0]).strftime('%Y-%m-%d %H:%M:%S'))

ValueError: year 53118 is out of range

如何正确设置日期时间以允许正确转换?

utcfromtimestamp() 期望以秒为单位的纪元,但您提供的是以毫秒为单位的纪元。

将数字除以 1000 即可。

x = 1614100501543
d = datetime.utcfromtimestamp(x / 1000)
print(d)

打印

2021-02-23 17:15:01.543000