【发布时间】:2021-11-29 17:34:55
【问题描述】:
我有一个 python 程序,它将一年中的星期作为输入,格式为:YYYY-W# 该程序使用此输入为一周中的每一天生成值并将数据输出到 Excel 文件。
我收到错误消息:ValueError: day is out of range for month,我意识到当一周中的几天在不同的月份(例如,星期一、星期二是 11 月,星期三、星期四等是 12 月)时,我会收到此错误。
以下代码是我获取星期几的值的方式:
monday = datetime.datetime.strptime(week + '-1', '%G-W%V-%u')
tuesday = datetime.datetime(monday.year, monday.month, monday.day - monday.weekday() + 1)
wednesday = datetime.datetime(monday.year, monday.month, monday.day - monday.weekday() + 2)
thursday = datetime.datetime(monday.year, monday.month, monday.day - monday.weekday() + 3)
friday = datetime.datetime(monday.year, monday.month, monday.day - monday.weekday() + 4)
saturday = datetime.datetime(monday.year, monday.month, monday.day - monday.weekday() + 5)
sunday = datetime.datetime(monday.year, monday.month, monday.day - monday.weekday() + 6)
如果整周都在同一个月内,此代码可以正常工作,有没有办法修改它以考虑可能不在同一个月内的周?
【问题讨论】: