如何在一年的第y个月找到第x天的日期?

时间:2016-02-12 11:41:30

标签: python datetime

我正在使用Python的日期时间模块来表示日期。

我希望能够在某一年的5月的第三个星期三获得一个约会时间。

在没有明显外部依赖性的情况下,有一种简单的方法吗?

1 个答案:

答案 0 :(得分:1)

def get_derired_date(day_number,day,month,year):
  day = day.upper()
  month_dict={
  "MONDAY":0,
  "TUESDAY":1,
  "WEDNESDAY":2,
  "THURSDAY":3,
  "FRIDAY":4,
  "SATURDAY":5,
  "SUNDAY":6
  }
  datestring = "{0}-{1}".format(year,month)
  dt = datetime.strptime(datestring, '%Y-%m')
  first_day_of_month = datetime(dt.year, dt.month, 1)
  month_diff_value = month_dict[day]
  final_date = first_day_of_month + timedelta(days=((month_diff_value-calendar.monthrange(dt.year,dt.month)[0])+7)%7)
  return final_date

get_derired_date(1, “星期五”,2,2016)