2010-06-04 3 views
0

파이썬에서 지난해에 날짜가 표시되는지 어떻게 확인합니까? 지금 (지금 1 년)파이썬 날짜가 작년에 나타납니다

감사

사이 즉 날짜
+0

파이썬 문서는 매우 좋은이며, 많은 예제를 제공합니다 : HTTP ://docs.python.org/library/datetime.html –

+0

데이터 유형은 무엇입니까? –

답변

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 
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 일 1 년 전에하고 싶은 경우에 당신이이 윤년을 위해 일해야

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 
+0

윤년으로 366 일이 될 수 있기 때문에 datetime.timedelta (year = 1)를 넣을 수 있습니다. – John

+0

@ John : 아니요, 설명서를 읽을 수 없습니다. 서명은 * datetime.timedelta ([days [, seconds [, microseconds [, milliseconds [, minutes [, hours [, weeks]]]]]) * 하루가 그렇게 중요합니까? –

+0

예, 지금부터 1 년 후. – John