sit123 Asked:2022-08-31 01:59:28 +0000 UTC2022-08-31 01:59:28 +0000 UTC 2022-08-31 01:59:28 +0000 UTC 如何从日期中减去一年?Python 772 证书有效期为 1 年。有一个格式为 yyyy-mm-dd 的结束日期。鉴于该问题可能在闰年,如何以 dd-mm-yyyy 格式获取发行日期? python дата 3 个回答 Voted Best Answer Qwertiy 2022-08-31T02:22:52Z2022-08-31T02:22:52Z 解析日期 减去年份 格式化日期 tio.run from datetime import datetime from dateutil.relativedelta import relativedelta cur = datetime.fromisoformat(input()) prev = cur - relativedelta(years=1) print(cur) print(prev) print(prev.strftime("%d-%M-%Y")) 2000-02-29 2000-02-29 00:00:00 1999-02-28 00:00:00 28-00-1999 Max Watson 2022-08-31T02:09:56Z2022-08-31T02:09:56Z 我认为 datetime 已经考虑到了这一点。也许我误解了你的问题,但也没有你的例子。所以我认为你可以从这个开始。 import datetime def get_day(date, step=0): l = date.split("-") y = int(l[0]) m = int(l[1]) d = int(l[2]) old_date = datetime.datetime(y, m, d) new_date = (old_date + datetime.timedelta(days=step)).strftime('%Y-%m-%d') print(new_date) return new_date get_day('2019-01-31', 0) # текущий get_day('2019-01-31', 365) # след год user2240578 2022-08-31T03:34:56Z2022-08-31T03:34:56Z 如果不包括闰年: >>> import datetime >>> datetime.datetime.now()- datetime.timedelta(days=365) datetime.datetime(2021, 6, 30, 22, 34, 24, 587704) >>>
tio.run
我认为 datetime 已经考虑到了这一点。也许我误解了你的问题,但也没有你的例子。所以我认为你可以从这个开始。
如果不包括闰年: