在python中查找上一个日历日

时间:2010-06-20 23:35:18

标签: python file datetime date calendar

  

可能重复:
  How can I subtract a day from a python date?

我有一组文件,我按日期保存,year_month_day.txt格式。我需要打开前一天的文本文件进行一些处理。如何在python中找到前一天的日期?

4 个答案:

答案 0 :(得分:29)

你走了:

>>> print datetime.date.today()-datetime.timedelta(1)
>>> 2010-06-19

答案 1 :(得分:6)

假设您以字符串'2010_05_1'开头。然后前一天的类似字符串是:

>>> 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'
>>> 

当然,你将把所有这些封装成一个方便的功能!

答案 2 :(得分:3)

您可以使用datetime module

import datetime
print (datetime.date(year, month, day) - datetime.timedelta(1)).isoformat()

答案 3 :(得分:0)

简而言之:

  1. 将年/月/日转换为数字。
  2. 从该号码中减去1。
  3. 将数字转换为年/月/日。
  4. 您会发现time模块中的localtimemktime函数很有帮助。

    (此外,由于time模块处理秒数,因此您将减去86400而不是1。)