2010-06-20 15 views
9

가능한 중복 이전 달력 일을 찾기 : 내가 날짜별로 저장하고있어 파일, year_month_day.txt 형식의 집합이
How can I subtract a day from a python date?파이썬에서

합니다. 일부 처리를 위해 전날의 텍스트 파일을 열어야합니다. 파이썬으로 전날의 날짜를 어떻게 찾을 수 있습니까? 한마디로

답변

19

당신은 이동 :

>>> print datetime.date.today()-datetime.timedelta(1) 
>>> 2010-06-19 
-1

:

  1. 는 숫자로 년/월/일 변환합니다.
  2. 해당 숫자에서 1을 뺍니다.
  3. 숫자를 년/월/일로 변환하십시오.

당신은 time 모듈 도움의 localtimemktime 기능을 찾을 수 있습니다. (또한, 초와 time 모듈 거래하기 때문에, 당신은 86400 대신 1을 빼는 것)

3

는 문자열 '2010_05_1'로 시작하는 말. 그 다음 전날의 유사한 문자열은 다음과 같습니다.

>>> import datetime 
>>> s = '2010_05_1' 
>>> theday = datetime.date(*map(int, s.split('_'))) 
>>> prevday = theday - datetime.timedelta(days=1) 
>>> prevday.strftime('%Y_%m_%d') 
'2010_04_30' 
>>> 

물론이 모든 것을 하나의 편리한 기능으로 캡슐화합니다. 여기

1

당신은 datetime module를 사용할 수 있습니다.

import datetime 
print (datetime.date(year, month, day) - datetime.timedelta(1)).isoformat()