2024-10-01 13:24:02 发布
网友
我在用日历和monthdatescalendar()
import Calendar mycal = calendar.Calendar(0) laborday = mycal.monthdatescalendar(2003, 9)[0][0]
正确返回09/01/2003
返回2014年8月30日,这不是所需的结果
正确的方法是什么来正确地得到一个月的第一个***日(对于任何一个月/年),而不是因为你正确地得到了第一个星期,而是得到了上个月的最后一个***日?在
问题是monthdatescalendar返回整周,因此如果需要,将包括前几个月来填补第一周的时间。在
monthdatescalendar
要获得正确的日期,您需要检查第一个Mondaydatetime对象的月份,并根据需要选择下一个星期一。在
datetime
import calendar def getLaborDay(year): month = 9 mycal = calendar.Calendar(0) cal = mycal.monthdatescalendar(year, month) if cal[0][0].month == month: return cal[0][0] else: return cal[1][0] print getLaborDay(2003) print getLaborDay(2004)
Gives:
问题是
monthdatescalendar
返回整周,因此如果需要,将包括前几个月来填补第一周的时间。在要获得正确的日期,您需要检查第一个Monday
datetime
对象的月份,并根据需要选择下一个星期一。在Gives:
^{pr2}$相关问题 更多 >
编程相关推荐