Python可以通过datetime
模块快速计算任意日期是星期几,核心方法是weekday()
(返回0-6对应周一到周日)或strftime("%A")
(直接输出星期名称)。 以下是具体实现方式和应用场景:
-
基础方法:
weekday()
与isoweekday()
weekday()
返回0(周一)到6(周日)的数字,例如datetime.datetime(2025,5,6).weekday()
返回1(周二)isoweekday()
返回1(周一)到7(周日),符合国际标准ISO 8601
-
直接获取星期名称:
strftime()
使用格式化符号%A
获取完整名称(如"Tuesday"),%a
获取缩写(如"Tue"):pythonCopy Code
datetime.datetime(2025,5,6).strftime("%A") # 输出'Tuesday'
-
处理用户输入日期
结合input()
和异常捕获,实现交互式查询:pythonCopy Code
from datetime import datetime try: user_date = input("输入日期(YYYY-MM-DD): ") print(datetime.strptime(user_date, "%Y-%m-%d").strftime("%A")) except ValueError: print("日期格式错误")
-
批量计算日期区间
用循环遍历日期范围并标记周末:pythonCopy Code
for day in (datetime(2025,5,d) for d in range(1,31)): if day.weekday() > 4: # 5-6为周末 print(day.date(), "是周末")
提示: 对于历史日期需注意历法变更(如1752年前英国历法差异),日常使用建议搭配pytz
库处理时区问题。