MongoDB / PyMongo / Python(时间):以字符串形式获取日期时间

Mic*_*ele 6 python mongodb pymongo

我的文档中有一个具有以下结构的 MongoDB 数据库:

> "_id": {
>       "mandant": "a4da7117-2763-48df-b3a3-d50a0f6006fe",
>       "ersteller": "9bc79ce4-c23a-4c24-a857-80f94a341d39",
>       "sender": "9bc79ce4-c23a-4c24-a857-80f94a341d39",
>       "vorgang": "c08382ed-143f-46f7-8382-ed143f26f7b8",
>       "nachricht": "6c9d3386-001f-4809-9d33-86001fd80990"
>     },
>     "_class": "de.codecraft.amt.storage.model.XAmtshilfe",
>     "created": {
>       "$date": "2018-10-02T09:20:05.060Z"
>     },
Run Code Online (Sandbox Code Playgroud)

当我查询时:

collection = db.find({}, {"_id": 0, "created": 1})
Run Code Online (Sandbox Code Playgroud)

我得到了以下结果:

{'created': datetime.datetime(2018, 11, 30, 13, 40, 4, 879000)}
Run Code Online (Sandbox Code Playgroud)

我怎样才能达到纯日期时间值,以便我能够将其解析为其他形式的时间类型?

谢谢!

And*_*w F 6

PyMongo 将时间戳投射到本机datetime.datetime结构中。然后您可以使用.isoformat().strftime(<format>)方法将其转换为字符串。

所以,继续你的例子

objects = db.find({}, {"_id": 0, "created": 1})
for obj in objects:
    dt = obj['created']
    time_str = dt.isoformat()
    # ...
Run Code Online (Sandbox Code Playgroud)