Python 3.x 将日期设置为YYYY-MM减去一个月

Python 3.x 将日期设置为YYYY-MM减去一个月,python-3.x,date,Python 3.x,Date,如果我使用这个: YYYYMMnow = datetime.today().strftime('%Y-%m') 我把它作为输出 2020-11 今天是2020年11月 我想要一个公式,给我,yyy-MM减去一个月 这将是一个类似的输出 2020-10 或者在1月份,从2021-01年开始,它将返回2020-12年的逻辑: 用1代替一天。这样就不会遇到诸如询问Python之类的问题 减去10天;结果中的day元素无关紧要 截断为YYYY-MM 从datetime导入datetime,ti

如果我使用这个:

YYYYMMnow = datetime.today().strftime('%Y-%m')
我把它作为输出

2020-11
今天是2020年11月

我想要一个公式,给我,yyy-MM减去一个月

这将是一个类似的输出

2020-10
或者在1月份,从2021-01年开始,它将返回2020-12年的逻辑:

  • 用1代替一天。这样就不会遇到诸如询问Python之类的问题
  • 减去10天;结果中的day元素无关紧要
  • 截断为YYYY-MM
从datetime导入datetime,timedelta
>>>(datetime.today().replace(day=1)-timedelta(days=10)).strftime(“%Y-%m”)
'2020-10'
>>>(datetime(年=2020,月=3,日=5)。替换(日=1)-timedelta(日=10)。strftime(“%Y-%m”)
'2020-02'

Duplicate@PatrickArtner自月份起的显著差异被排除在外here@bradSolomon这没什么区别,这是一个输出的问题。还有很多帖子可以在上面打印日期!他已经解决了输出:
datetime.today().strftime(“%Y-%m”)
所以剩下的唯一一件事就是减去一个月,这个月由被复制者处理。这个回答你的问题<代码>(datetime(year=2020,month=3,day=5)。替换(day=1)-timedelta(days=30)).strftime(“%Y-%m”)>
'2020-01'
我认为只要减去一天就足够了,如果你只是把它重置为第一天的话。啊,抓到了@hampusralson