如何在python中检查过去一年中出现的日期。即从现在到(现在为1年)之间的日期
由于
答案 0 :(得分:2)
In [10]: today=datetime.date.today()
In [11]: datetime.date(2010,5,5) < today
Out[11]: True
In [12]: today-datetime.timedelta(days=365) <= datetime.date(2010,5,5) < today
Out[12]: True
In [13]: today-datetime.timedelta(days=365) <= datetime.date(2009,5,5) < today
Out[13]: False
修改:如果today
是闰年2000-2-29
,则today-datetime.timedelta(days=365)
为1999-3-1
。如果你想在一年前成为1999-2-28
,那么你可以使用
def add_years(date,num):
try:
result=datetime.date(date.year+num,date.month,date.day)
except ValueError:
result=datetime.date(date.year+num,date.month,date.day-1)
return result
today=datetime.date(2000,2,29)
print(add_years(today,-1))
# 1999-02-28
答案 1 :(得分:2)
这适用于闰年:
>>> from datetime import date
>>> today = date.today()
>>> date(today.year - 1, today.month, today.day) < date(2009, 06, 05) <= today
True
>>> date(today.year - 1, today.month, today.day) < date(2009, 06, 04) <= today
False
>>> date(today.year - 1, today.month, today.day) < date(2010, 07, 04) <= today
False