I have a set of files that I'm saving by date, year_month_day.txt format. I need to open the previous day's text file for some processing. How do I find the previous day's date in python?
A:
In short:
- Convert the year/month/day to a number.
- Subtract 1 from that number.
- Convert the number to year/month/day.
You will find the localtime
and mktime
functions from the time
module helpful.
(Also, since the time
module deals with seconds, you would subtract 86400 instead of 1.)
Greg Hewgill
2010-06-20 23:41:24
+1
A:
Say you start with a string '2010_05_1'
. Then the similar string for the previous day is:
>>> import datetime
>>> s = '2010_05_1'
>>> theday = datetime.date(*map(int, s.split('_')))
>>> prevday = theday - datetime.timedelta(days=1)
>>> prevday.strftime('%Y_%m_%d')
'2010_04_30'
>>>
Of course you'll encapsulate all of this into one handy function!
Alex Martelli
2010-06-20 23:42:34
+2
A:
Here you go:
>>> print datetime.date.today()-datetime.timedelta(1)
>>> 2010-06-19
Wai Yip Tung
2010-06-20 23:42:38
A:
You can use the datetime module.
import datetime
print (datetime.date(year, month, day) - datetime.timedelta(1)).isoformat()
razpeitia
2010-06-20 23:48:47