2011-11-26 3 views
0

replace 메서드를 사용자 지정할 수 있도록 datetime 개체에 대한 setter 메서드를 만들고 싶습니다. 이것이 가능한가? 예를 들어datetime의 유효성을 확인 하시겠습니까?

: 34 어떤 달 동안 일의 유효한 숫자는 아니지만, 내가 뭘하고 싶은 것은 28을 빼기 다음 1에 의해 달이 증가하고 있기 때문에이 오류가 발생합니다

datetime = datetime.replace(day = 34) 

, 30 또는 31 일.

+0

나는 당신의 필요를 이해하지 못하겠습니까?! 월 + 1 - 31 일 ?? – gecco

+0

그는'day = 34'를'day = replacementDay;와 동일하게 만들고 싶습니다. while (day> daysPerMonth (month)) {day = dayPerMonth (month); month + = 1; 다시 말해, 무효 일 번호를 현재 달보다 미래로 단순히 처리하는 것입니다. –

답변

1

당신은 datetime를 서브 클래스와 replace 방법은 당신 자신의 구현을 제공 할 수 있습니다.

1

이 질문에 직접 대답하지 않지만 datetime 개체를 증가 시키려고하면 timedelta를 사용할 수 있습니다. 예를 들어 :

from datetime import datetime 
from datetime import timedelta 

datetime(2011, 1, 1) + timedelta(days=34) 
+0

위대한 솔루션 - 일수를 늘리는 것이 아니라 일수를 설정하는 것 이외의 모든 작업에 도움이되었을 것입니다. – Andrew

관련 문제