Python MongoEngine 解析从数据库返回的 JSON-ified DateTimeField

Python MongoEngine parse JSON-ified DateTimeField as returned from database

我使用 MongoEngine 在模型 class 中定义了一个 DateTimeField:

class A(Document):
    ...
    time_m = DateTimeField(default=datetime.utcnow)
    ...

当我查询返回 JSON 化的 A 类型文档时,我可以看到时间表示为:

{
  ...
  "time_m": {
              "$date": 1591608726198
            }
  ...
}

我想使用 Python 将字符串 '1591608726198' 转换为该日期和时间的人类可读字符串表示形式,但 不使用任何与 MongoEngine 相关的 classes(更准确地说,我想在 Jinja2 模板中转换它)。

我试过以下方法:

有什么办法吗?

我试过了,得到了答案:

>>> from datetime import datetime
>>> ts = 1591608726198
>>> dt = datetime.fromtimestamp(ts/1000)
>>> print(dt.strftime("%Y-%m-%d %H:%M:%S"))
2020-06-08 15:02:06

您的时间戳是 13 位数字(精确到毫秒),要使用精确到毫秒的时间戳进行解析,您必须除以 1000。