鉴于约会日期,您如何知道该月的工作日位置(例如:该月的第三个星期二)以及如何获得下个月同一工作日的日期(例如:该月的第三个星期二+ 1)?
答案 0 :(得分:3)
查看datetime模块。特别是weekday的date方法 宾语。 isocalendar也可能有所帮助。
答案 1 :(得分:2)
在下面的示例中,d
是datetime.date
个对象。
要获取当月内当天的“索引”,请使用
def weekday_index(d):
return (d.day + 6) // 7
此公式将独立于实际日期的工作日。为了获得与下个月同一工作日指数相同的工作日,最简单的方法似乎是
d_next = d + datetime.timedelta(weeks=4)
if weekday_index(d_next) < weekday_index(d):
d_next += datetime.timedelta(weeks=1)
这使用的事实是您要查找的日期是d
之后的4周或5周。
答案 2 :(得分:2)
查看dateutil
答案 3 :(得分:1)
import datetime
cnt=1
d=datetime.datetime.now()
d1=datetime.datetime(d.year,d.month,1,d.hour,d.minute,d.second,d.microsecond)
while(d1.day!=d.day):
if 6-d1.weekday()==1:cnt=cnt+1
d1=d1+datetime.timedelta(days=1)
print cnt #print current date week position