2010-01-04 5 views
0

특정 시간이 지나면 파일을 제거하는 기능이 있습니다. 문제는 월말에서 작동하지만, 시작일로부터 7 일을 제거하려고 할 때 이전 달로 축소되지 않습니다. 아무도 이것이 작동하도록하는 방법을 알고 있습니까? 아래 코드는 날짜를 계산하고 요일을 제거합니다.파이썬에서 달이 시작될 때 날짜 시간 문제가 발생했습니다.

today = datetime.date.today() # Today's date Binary 
todaystr = datetime.date.today().isoformat() # Todays date as a string 
minus_seven = today.replace(day=today.day-7).isoformat() # Removes 7 days 

도움 주셔서 감사합니다. 이 고장

답변

7
minus_seven = today - datetime.timedelta(days = 7) 
+0

나는 한 줄만 넣으면 무례하게 들리고 싶지 않습니다. 그것은 너무 아름답게 자명하다. – balpha

3

이유는 todaydatetime.date 점이다; 및 the docstoday.day는 것을 의미 말, 같은 : 1 사이

과 특정 연도의 해당 월의 일 수를.

왜 이달 말에 작동하는지 알 수 있습니다. 그러나 달의 처음 며칠 동안 당신은 부정적인 가치로 끝납니다.

워드 프로세서는 즉시 당신이하려고하는 일을 할 수있는 올바른 방법을 문서로 이동 :

date2 = date1 - timedelta는 날짜 2 등을 계산하는 날짜 2 + timedelta == 날짜 1.

관련 문제