Python:下个月的工作日位置

时间:2011-08-11 12:38:22

标签: python date weekday

鉴于约会日期,您如何知道该月的工作日位置(例如:该月的第三个星期二)以及如何获得下个月同一工作日的日期(例如:该月的第三个星期二+ 1)?

4 个答案:

答案 0 :(得分:3)

查看datetime模块。特别是weekdaydate方法 宾语。 isocalendar也可能有所帮助。

答案 1 :(得分:2)

在下面的示例中,ddatetime.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