Python datetime.date.isocalendar(): 按照ISO 8601标准获取日期的ISO周信息

datetime.date.isocalendar() 方法是 Python datetime 模块中 datetime.date 类的一个实例方法,用于按照 ISO 8601 标准将给定的日期转换为其对应的 ISO 周信息。这个方法返回一个包含三个整数的元组 (year, week, weekday),分别表示:

year (int):ISO 年份。如果给定日期位于当年第一周之前(即前一年的最后一周),或者位于当年最后一周之后(即下一年的第一周),则 year 可能与日期本身的年份不同。

week (int):ISO 星期编号,范围从 1 到 53。一年中的第一个星期至少包含四天(即至少包含该年的第一个周四),并且属于该年的第一周。如果某一年的第一天(即 1 月 1 日)落在星期二到星期一之间,那么这第一天所在的那一周仍被视为上一年的最后一周。

weekday (int):ISO 星期几的索引,范围从 1 到 7,其中:

1 表示星期一

2 表示星期二

7 表示星期日

示例代码如下:

from datetime import date

# 创建一个日期对象
example_date = date(2024, 4, 17)

# 使用 isocalendar() 方法获取 ISO 周信息
iso_week_info = example_date.isocalendar()

# 打印结果
print(f"On {example_date}, the ISO week information is: {iso_week_info}")

在这个例子中,iso_week_info 将存储 example_date (即 2024 年 4 月 17 日)对应的 ISO 年份、星期编号和星期几索引。例如,如果这一天是 2024 年的第 16 周的周三,那么 iso_week_info 可能为 (2024, 16, 3)。

与 isoweekday() 方法的区别

datetime.date.isoweekday() 方法仅返回给定日期在一周中的索引(遵循 ISO 8601 标准),而 isocalendar() 方法不仅提供星期索引,还提供了完整的 ISO 周信息,包括 ISO 年份和星期编号。

总结:datetime.date.isocalendar() 方法用于获取一个 datetime.date 对象所表示日期对应的 ISO 周信息(包括 ISO 年份、星期编号和星期几索引),遵循 ISO 8601 标准。如果只需要获取星期几索引,请使用 datetime.date.isoweekday() 方法。


存档地址:https://www.yuque.com/worthstudy/study/gs9gx1xngd4p0p4m?singleDoc# 《datetime.date.isocalendar()方法》

© 版权声明
THE END
喜欢就点赞支持一下吧,如果觉得不错或日后有所需要,可以收藏文章和关注作者哦。
点赞0打赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容