ObjectIDからタイムスタンプを取得しようとしていますが、Mongoからこのエラーが発生し続けます。インポートがありませんか?タイムスタンプを標準の日付形式に変換する最良の方法は何ですか?
video['date'] = video['_id'].getTimeStamp()
この答えはPythonとDjangoベースです。
使用する前に、UTC(協定世界時)に変換されるgeneration_time
ことに注意してください。これは、現在のタイムゾーンに応じて進んだり遅れたりする可能性があるため、プロジェクト設定で現地時間を使用してタイムスタンプを保存している場合は、時間に差が生じる可能性があります。オブジェクト。私にとっては、5.5時間の違いがあります。したがって、タイムゾーンに応じて時間を調整してください。generation_time
例:
この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>)
ドキュメントのobject_idからUTCで時刻を取得するため、現地時間に変換するためにできることは...
document['_id'].generation_time #(gives the generation/creation time of the object id in UTC.)
utc=document['_id'].generation_time
hours_added = datetime.timedelta(hours = 4)` #(Suppose utc+4 is my local time.)
local_time=utc+hours_added