How to subtract datetimes with python

Question:

Today =

today = datetime.datetime.now().strftime("%Y%m%d")

90days ago

DD = datetime.timedelta(days=-90)

How do I get today – DD, or 90days ago?

Asked By: Merlin

||

Answers:

You should be able to subtract time deltas from datetime objects.

today = datetime.datetime.now()
DD = datetime.timedelta(days=90)
earlier = today - DD
earlier_str = earlier.strftime("%Y%m%d")
Answered By: Joshua Strouse

You need to subtract timedelta(days=90):

from datetime import date, datetime, timedelta
today = datetime.now()
dd = today - timedelta(days=90) 
print(dd)

It should print 2010-11-03 15:04:42.289684.

Answered By: João Silva

Just subtract a timedelta from a datetime:

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

(or if you want to use a negative timedelta like you did there, add them:

>>> DD = datetime.timedelta(days=-90)
>>> today + DD
datetime.datetime(2010, 11, 3, 9, 56, 20, 924224)
Answered By: bgporter
from datetime import date,timedelta

currentDay = date.today()

requestedDay = currentDay - timedelta(days=90)

print(requestedDay)

hope it solves.

Answered By: Shyam
Categories: questions Tags: ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.