Comment insérer une chaîne de date/heure comme celle-ci "2017-10-13T10:53:53.000Z"
dans mongo db en tant que ISODate? Je reçois une chaîne dans mongodb quand j'insère: datetime.strptime("2017-10-13T10:53:53.000Z", "%Y-%m-%dT%H:%M:%S.000Z")
Cela fonctionne pour moi, obtenez-vous un résultat différent?
from pymongo.mongo_client import MongoClient
import datetime
d = datetime.datetime.strptime("2017-10-13T10:53:53.000Z", "%Y-%m-%dT%H:%M:%S.000Z")
with MongoClient() as mongo:
db = mongo.get_database("test")
db['dates'].insert({"date" : d})
Check in mongo:
> use test
switched to db test
> db.dates.findOne()
{
"_id" : ObjectId("589307d7cfd6c908d4b677d6"),
"date" : ISODate("2017-10-13T10:53:53Z")
}
UPDATE: Comme indiqué, si vous obtenez une erreur "Les données de temps ne correspondent pas au format", essayez une chaîne de format plus générale telle que: %Y-%m-%dT%H:%M:%S.%fZ
utiliser dateutil
dateutil.parser.parse("2017-10-13T10:53:53.000Z")
retournera datetime.datetime(2017, 10, 13, 10, 53, 53, tzinfo=tzutc())