我正在运行Python3.8.3,我发现ISO Week格式(%v)有些奇怪:
2019年的第一天和最后一天都在第1周。
from datetime import date
print(date(2019, 1, 1).strftime('%Y-W%V'))
print(date(2019, 12, 29).strftime('%Y-W%V'))
print(date(2019, 12, 31).strftime('%Y-W%V'))
输出:
2019-W01
2019-W52
2019-W01
为什么它会表现得那样?
完全正确。
正如您在日期中看到的,所有日期都在2019
中,因此使用%y
得到2019是正确的。
周数由ISO定义,因此一周可以考虑在上一年或下一年。
您需要使用%g
来获取星期年编号(%v
)。