2011-10-24 3 views
2

날짜가 X 일 이상 있는지 확인해야합니다. 어떻게 이것을 파이썬에서 할 수 있습니까? 나는 오류가있어 파이썬에서 날짜를 비교하는 방법?

if datetime.date(2010, 1, 12) > datetime.timedelta(3): 

:

TypeError: can't compare datetime.date to datetime.timedelta 

에 대한 어떤 단서가 어떻게이를 달성하기

내가 좋아하는 뭔가를 테스트 한?

+2

가 그게 무슨 뜻 이죠? 달의 날이 X보다 큰가요? 날짜의 달을 얻으려면''day'' 속성을 사용하십시오. ''만약 thedate.day> X :'' – codeape

답변

7

datetimetimedelta을 비교할 수 없습니다. timedelta은 지속 시간을 나타내며 datetime은 특정 시간을 나타냅니다. difference은 2 개의 datetimes이며, 입니다. 통계 시간은 timedelta과 같이 서로 비교할 수 있습니다.

  • 당신이 준 것과 다른 datetime 빼기, 당신은 또한 주어진 한 timedelta와 결과 timedelta 비교 :

    당신은 두 가지 옵션이 있습니다.
  • datetime으로 바꾸거나 다른 datetime에 덧붙여 datetimedatetime을 비교하십시오.
1

사과와 오렌지를 비교하는 것은 항상 매우 어렵습니다! "2010 년 1 월 12 일"(고정 된 시점)과 "3 시간"(기간)을 비교하려고합니다. 이것에는 아무런 의미가 없습니다.

당신이 요구하는 것은 경우에 당신이 할 수있는 "달의 n 번째 일 후 내 datetime 가을 않는다": ". 나는 날짜가 X 일 이상이 있는지 확인 필요"

my_important_date = datetime.now() 

if my_important_date.day > n: 
    pass #do you important things