如何确定星期几的日期?

时间:2019-01-13 00:10:25

标签: python datetime calendar

我正在尝试制作Superbowl box游戏生成器。作为一项功能,我想告诉用户超级碗是那一年。

超级碗总是2月的第一个星期日。我知道如何获取是否是星期日(import datetime today= datetime.date.today()),但是我希望程序几乎可以反向运行,在这里我输入6(Python中星期日的整数),并且程序返回星期日的日期掉下来。

类似这样的东西:

date = datetime.date.toDate(day, month, year, which_week)

我希望它能在2月3日输出(以今年为例。

1 个答案:

答案 0 :(得分:2)

一个想法是计算给定月份第一天的工作日。然后在指定的工作日添加计算出的天数。对于2019年2月,第3个是第一个星期日:

from datetime import date, timedelta

def get_date(month, year, day_num):
    """Get date of first specified day given month and year."""
    first_date = date(year, month, 1)
    first_day = first_date.weekday()
    day_inc = day_num + (7 if first_day > day_num else 0) - first_day
    return first_date + timedelta(days=day_inc)

date = get_date(2, 2019, 6)  # 6 represents Sunday
# datetime.date(2019, 2, 3)