2

bson json_utilを使用してbson日付/時刻オブジェクトをjsonに変換する場合、日時はエポックからのミリ秒として表されます。

代わりに日付/時刻をisodate文字列に変換する方法はありますか?または、json_utilを使用してjsonをダンプする前に、日時インスタンスを文字列に変換するためのより良い方法はありますか?

raw cursor item: {u'_id': ObjectId('4fc51500381b472cfdfa4eaf'), u'ts': datetime.datetime(2012, 5, 29, 18, 27, 12, 221000)} 

json.dumps(obj、default = json_util.default)

json: {"_id": {"$oid": "4fc51500381b472cfdfa4eaf"},"ts": {"$date": 1338316032221}} 

Python datetimeモジュールdatetime.fromtimestamp(ts)を使用すると、ValueErrorが発生しましたが、何か問題がありますか?:

import datetime
datetime.datetime.fromtimestamp(1338316032221)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: year is out of range
4

2 に答える 2

3

メソッドにエポックからの時間をミリ秒で指定しますfromtimestampが、エポックからの時間を秒で期待します datetime.datetime.fromtimestampおよびtime.timeドキュメントを参照):)

于 2012-05-29T23:24:25.010 に答える
0

PythonとMongoDBストレージでこの問題に遭遇しました。最も簡単な答えは次のとおりです。

import time
bson_timevalue = 1421147432935
readable_date = time.strftime("%Y-%m-%d", time.localtime(int(bson_timevalue / 1000)))

print readable_date

あなたにあげる:2015-01-13

于 2015-01-13T18:26:50.460 に答える