Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python datetime ISO week表示一年中的第一天和最后一天都在同一周_Python_Python 3.x_Datetime Format_Python Datetime - Fatal编程技术网

Python datetime ISO week表示一年中的第一天和最后一天都在同一周

Python datetime ISO week表示一年中的第一天和最后一天都在同一周,python,python-3.x,datetime-format,python-datetime,Python,Python 3.x,Datetime Format,Python Datetime,我正在运行Python 3.8.3,发现ISO周格式%V有些奇怪: 2019年的第一天和最后一天都在第1周 输出: 2019-W01 2019-W52 2019-W01 为什么会这样呢?完全正确 正如您在日期中看到的,所有日期都在2019年,因此使用%Y获得2019年是正确的 周数由ISO定义,所以一周可以考虑在上一年或下一年 您需要使用%G来获取周数%V。这是完全正确的 正如您在日期中看到的,所有日期都在2019年,因此使用%Y获得2019年是正确的 周数由ISO定义,所以一周可以考虑在上一年

我正在运行Python 3.8.3,发现ISO周格式%V有些奇怪:

2019年的第一天和最后一天都在第1周

输出:

2019-W01 2019-W52 2019-W01 为什么会这样呢?

完全正确

正如您在日期中看到的,所有日期都在2019年,因此使用%Y获得2019年是正确的

周数由ISO定义,所以一周可以考虑在上一年或下一年

您需要使用%G来获取周数%V。这是完全正确的

正如您在日期中看到的,所有日期都在2019年,因此使用%Y获得2019年是正确的

周数由ISO定义,所以一周可以考虑在上一年或下一年


您需要使用%G来获取周数%V.

,因为这是正确的方法?ISO年与公历年略有偏移;例如,公历2019年12月30日星期一是ISO日历2020年第1周的第一天,写为2020-W01-1或2020W011@Boris,因此预期输出应为2020-W01,而不是2019-W01?因为这是正确的方式?ISO年与公历年略有偏移;例如,公历2019年12月30日星期一是ISO日历2020年第1周的第一天,并且写为2020-W01-1或2020W011@Boris,因此预期输出应为2020-W01,而不是2019-W01?链接到文档:向下滚动到第二个表格以上@Boris链接的相关信息:ISO 8601周为十进制数,周一为一周的第一天。第01周是包含1月4日的一周。链接到文档:向下滚动到第二个表格上面@Boris链接的相关信息:ISO 8601周为十进制数字,周一为一周的第一天。第01周是包含1月4日的一周。
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'))