Я пытаюсь получить timestamp из ObjectID, но Mongo продолжает давать мне эту ошибку. Мне не хватает импорта? Каков наилучший способ преобразования временной метки в стандартный формат даты?
Этот ответ основан на 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>)