Подтвердить что ты не робот

Объект ObjectId не имеет атрибута 'getTimeStamp'

Я пытаюсь получить timestamp из ObjectID, но Mongo продолжает давать мне эту ошибку. Мне не хватает импорта? Каков наилучший способ преобразования временной метки в стандартный формат даты?

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

Ответ 1

Где вы видите getTimeStamp() как метод?

В соответствии с docs это должно быть только:

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

Ответ 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>)