Python 3.x Python-从文本字符串中减去一个月

Python 3.x Python-从文本字符串中减去一个月,python-3.x,Python 3.x,我有一个这样的变量 t = 20191201.txt 我想把这个改成20191101 我在这里做的是替换.txt,然后从日期中减去一个月 如何使用Python实现这一点。这应该可以 from datetime import datetime from dateutil.relativedelta import relativedelta s = "20191201.txt" s = s.replace(".txt", "") date = datetime(year=int(s[0:4]),

我有一个这样的变量

t = 20191201.txt
我想把这个改成20191101

我在这里做的是替换.txt,然后从日期中减去一个月

如何使用Python实现这一点。

这应该可以

from datetime import datetime
from dateutil.relativedelta import relativedelta

s = "20191201.txt"
s = s.replace(".txt", "")
date = datetime(year=int(s[0:4]), month=int(s[4:6]), day=int(s[6:8]))
date -= relativedelta(months=1)
result = date.strftime("%Y%m%d")
print(result)
# 20191101

与yxor的答案几乎相同:

from datetime import datetime, timedelta
t = '20191201.txt'
d = datetime.strptime(t[:8], "%Y%m%d")
d2 = d - timedelta(365/12)
print d2

这回答了你的问题吗?尝试了一下,它说--TypeError:“month”是一个无效的关键字参数,用于\uuuuu new\uuuuu()@mms再次修复了它。