我编写了以下代码,以便在年末的某一天开始该年的支付期。出于某种原因,它告诉我 12 月 22 日(第一年)是星期六。在线日历告诉我那是在星期四。
from datetime import datetime, timedelta
def pp_firstday(year):
print(type(year))
firstday = datetime(1,12,22,0,0,0)
yr = 2
print(yr, " ", firstday.strftime("%b/%d/%Y %a"))
yr = 3
while int(firstday.strftime("%Y")) != year-1:
firstday += timedelta(weeks=52)
if int(firstday.strftime("%m")) <= 12 and int(firstday.strftime("%d")) <= 12:
firstday += timedelta(weeks=2)
print("27: ",firstday.strftime("%b/%d/%Y %a"))
print(yr, " ",firstday.strftime("%b/%d/%Y %a"))
yr += 1
return firstday
year = int(input("Year >>>")) result=pp_firstday(year) print(result.strftime("%b/%d/%Y %a"))
Run Code Online (Sandbox Code Playgroud)
问题是,当你运行它时,输出显示: 2 Dec/22/0001 Sat Python 认为 12 月 22 日,第 1 年是星期六。到 2019 年时,输出显示:2020 Dec/21/2019 Sat,因此问题已得到纠正。是什么赋予了?