我可以使用timedelta找到下周日的日期(如果今天是周日,则为今天的日期),代码如下:
print(datetime.date.today() + datetime.timedelta(7 - int(time.strftime("%u"))))
我可以使用strftime获取今天的日期,并按照我想要的方式对其进行格式化:
print(datetime.date.today().strftime("%d.%m.%Y"))
但我实在想不出如何让这两个程序一起运行,才能让我按自己想要的格式显示下周日的日期。我单独运行这两个程序得到的结果是
2025-05-04
27.04.2025
但我想要的是 05.04.2025。我知道可以把2025-05-04传入str()然后格式化,但感觉很笨重。我希望找到在这种情况下如何使用strftime的方法,因为我很确定我想要做的事情正是它的初衷。
使用 strftime 是为了方便阅读,而不是为了计算。
要获取下一个星期日,请使用 date.Weekday() 并计算出需要添加的正确天数。
https://docs.python.org/3/library/datetime.html#datetime.date.weekday
返回整数形式的星期几,其中星期一为 0,星期日为 6。例如,date(2002, 12, 4).weekday() == 2,表示星期三。另请参阅 isoweekday()。