Days ago, days from now, add and subtract dates
Days ago
To calculate the date of n
days ago from today, simply use datetime.date.today()
to get the current day and datetime.timedelta
to subtract n
days from it.
from datetime import timedelta, date def days_ago(n): return date.today() - timedelta(n) days_ago(5) # date(2020, 10, 23)
Days from now
Similarly, to calculate the date of n
days from today, use datetime.date.today()
to get the current day and datetime.timedelta
to add n
days to it.
from datetime import timedelta, date def days_from_now(n): return date.today() + timedelta(n) days_from_now(5) # date(2020, 11, 02)
Add days
In order to calculate the date of n
days from the given date, you can use datetime.timedelta
and the +
operator to calculate the new datetime.datetime
value after adding n
days to d
.
from datetime import date, datetime, timedelta def add_days(n, d = datetime.today()): return d + timedelta(n) add_days(5, date(2020, 10, 25)) # date(2020, 10, 30) add_days(-5, date(2020, 10, 25)) # date(2020, 10, 20)
Subtract days
Finally, to calculate the date of n
days before the given date, you can use datetime.timedelta
and the -
operator to calculate the new datetime.datetime
value after subtracting n
days from d
.
from datetime import date, datetime, timedelta def subtract_days(n, d = datetime.today()): return d - timedelta(n) subtract_days(5, date(2020, 10, 25)) # date(2020, 10, 20) subtract_days(-5, date(2020, 10, 25)) # date(2020, 10, 30)