calendar模块用于日历操作,如判断闰年需用isleap()方法;2. monthrange()可获取某月第一天星期几和总天数;3. 结合datetime获取当前时间后可进行日历计算;4. prmonth()能打印美观的日历。calendar不直接判断时间,依赖datetime或time模块提供时间数据。

Python 中的 calendar 模块本身不用于“判断”时间,而是基于已知的日期和时间来生成日历或进行日历相关的操作。要判断或处理时间,通常需要结合 datetime 或 time 模块。calendar 模块常用于查看某年某月的日历、判断闰年、获取某月的第一天是星期几等。
1. 使用 calendar 判断年份是否为闰年
calendar 提供了 isleap(year) 方法来判断某年是否为闰年:
- import calendar
- print(calendar.isleap(2024)) # True
- print(calendar.isleap(2023)) # False
2. 获取某月的日历信息
使用 monthrange(year, month) 可以获取指定月份的第一天是星期几(0=周一,6=周日)和该月总天数:
- import calendar
- weekday, days = calendar.monthrange(2024, 3)
- print("第一天是星期:", weekday) # 星期五(4)
- print("总天数:", days) # 31
3. 结合 datetime 判断当前时间的日历信息
你可以用 datetime 获取当前时间,再交给 calendar 处理:
立即学习“Python免费学习笔记(深入)”;
- from datetime import datetime
- import calendar
- now = datetime.now()
- year = now.year
- month = now.month
- weekday, days = calendar.monthrange(year, month)
- print(f"{year}年{month}月共有 {days} 天,第一天是星期 {weekday}")
4. 打印美观的日历
使用 calendar.prmonth() 直接打印某月日历:
- import calendar
- calendar.prmonth(2024, 3)
基本上就这些。calendar 不直接“判断”时间,而是基于你提供的年月做日历计算。真正获取时间靠的是 datetime 或 time 模块。把它们配合使用,就能灵活处理时间和日历问题。











