Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Chuyển Python date sang JSON format

Không có JSON date format chuẩn. JavaScript có ISO 8601 format: human-readable, sortable, có fractional seconds, conform ISO 8601.

Python 3: Dùng isoformat() method.

Ví dụ Python 3

from datetime import datetime

my_date = datetime.now()
print(my_date.isoformat())
# 2024-01-15T10:30:45.123456

Python 2 / Python 3 dùng strftime

print(my_date.strftime('%Y-%m-%dT%H:%M:%S.%f%z'))
# 2024-01-15T10:30:45.123456+0000

Lưu ý: JSON serializer mặc định (json.dumps) không handle datetime. Cần custom encoder:

import json
from datetime import datetime

class DateTimeEncoder(json.JSONEncoder):
    def default(self, obj):
        if isinstance(obj, datetime):
            return obj.isoformat()
        return super().default(obj)

json.dumps({'time': datetime.now()}, cls=DateTimeEncoder)