如何用python减去日期

Mer*_*lin 19 python datetime

今天=

today = datetime.datetime.now().strftime("%Y%m%d")
Run Code Online (Sandbox Code Playgroud)

90天前

DD = datetime.timedelta(days=-90)
Run Code Online (Sandbox Code Playgroud)

我今天如何获得 - DD或90天前?

小智 36

您应该能够从datetime对象中减去时间增量.

today = datetime.datetime.now()
DD = datetime.timedelta(days=90)
earlier = today - DD
earlier_str = earlier.strftime("%Y%m%d")
Run Code Online (Sandbox Code Playgroud)


bgp*_*ter 14

只需从日期时间中减去timedelta:

>>> import datetime
>>> today = datetime.datetime.today()
>>> DD = datetime.timedelta(days=90)
>>> today - DD
datetime.datetime(2010, 11, 3, 9, 56, 20, 924224)
Run Code Online (Sandbox Code Playgroud)

(或者如果你想像你那样使用负时间值,请添加它们:

>>> DD = datetime.timedelta(days=-90)
>>> today + DD
datetime.datetime(2010, 11, 3, 9, 56, 20, 924224)
Run Code Online (Sandbox Code Playgroud)


Joã*_*lva 8

你需要减去timedelta(days=90):

from datetime import date, datetime, timedelta
today = datetime.now()
dd = today - timedelta(days=90) 
print(dd)
Run Code Online (Sandbox Code Playgroud)

它应该打印 2010-11-03 15:04:42.289684.


小智 5

from datetime import date,timedelta

currentDay = date.today()

requestedDay = currentDay - timedelta(days=90)

print(requestedDay)
Run Code Online (Sandbox Code Playgroud)

希望它能解决。