Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How would I compute exactly 30 days into the past with Python (down to the minute)?

In Python, I'm attempting to retrieve the date/time that is exactly 30 days (30*24hrs) into the past. At present, I'm simply doing:

>>> import datetime >>> start_date = datetime.date.today() + datetime.timedelta(-30) 

Which returns a datetime object, but with no time data:

>>> start_date.year 2009 >>> start_date.hour Traceback (most recent call last):   File "<stdin>", line 1, in <module> AttributeError: 'datetime.date' object has no attribute 'hour' 
like image 420
Nick Sergeant Avatar asked Apr 01 '09 02:04

Nick Sergeant


People also ask

How do I calculate days since in python?

You can use simple date arithmetic to find the number of days between two dates in Python. Define the 2 dates between which you want to find the difference in days. Then subtract these dates to get a timedelta object and examine the day's property of this object to get the required result.


1 Answers

You want to use a datetime object instead of just a date object:

start_date = datetime.datetime.now() - datetime.timedelta(30) 

date just stores a date and time just a time. datetime is a date with a time.

like image 128
sth Avatar answered Sep 19 '22 18:09

sth