1

我正在尝试为 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

4

1 回答 1

2

yesterday是一个datetime.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。

于 2012-12-06T04:06:37.343 回答