python 得到去年的同一天

Der*_*ehi 1 python datetime

如何在Python中获得去年的同一天

我尝试过 datetime.datetime.now() - relativedelta(years=1),但这并没有产生我想要的结果。

任何人都可以帮忙。谢谢

例子:

20/08/2020(星期四) 去年将是 22/08/2019(星期四)

eth*_*hcz 5

Pranav Hosangadi 的回答非常好,但请注意,并不是每年都有 52 周!如果遵循ISO8601 周编号标准,也可能是 53 。

一年中的 ISO 周数可以根据此 Stack Overflow 线程获得,从而得到代码:

print(datetime.datetime.now())
2020-08-20 22:57:28.061648
 
def lastweeknumberoflastyear():
    return datetime.date(datetime.datetime.now().year-1, 12, 28).isocalendar()[1]

print(datetime.datetime.now() - datetime.timedelta(weeks=lastweeknumberoflastyear()))
2019-08-22 22:57:28.061785
Run Code Online (Sandbox Code Playgroud)