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()方法》
暂无评论内容