用于JSON序列化的Python RFC 3339格式

时间:2012-12-06 03:28:57

标签: python python-3.x

我正在尝试为y'day生成json日期字符串。我不知道如何以RFC 3339格式生成它。

from datetime import date, timedelta
yesterday = date.today() - timedelta(1)


def dthandler(obj):
        return obj.isoformat()

with io.open('out/test.json', 'w', encoding='utf-8') as outfile:
    json.dump(rdata, outfile, indent=4, sort_keys=True, default=dthandler)

将日期格式化为:

"Date": "2012-12-04", 

如何编写格式化程序函数以获得RfC 3339格式。

我使用的是python 3.x

1 个答案:

答案 0 :(得分:1)

yesterdaydatetime.date个对象。如果输出中需要时间,可以将其转换为datetime.datetime对象:

from datetime import datetime, time, timedelta

yesterday = datetime.utcnow() - timedelta(days=1)
dt = datetime.combine(yesterday.date(), time(0, 0)) # midnight
rfc3339str = dt.isoformat() + "Z"

这应该适用于Python 2和3。