Python에서는 현재 날짜를 기준으로 어제, 오늘, 내일 날짜를 아주 간단하게 구할 수 있습니다. 핵심은 datetime 모듈과 timedelta 클래스입니다. datetime.now()로 현재 시각을 가져온 뒤, timedelta에 원하는 일수를 더하거나 빼면 이전 날짜와 다음 날짜를 손쉽게 계산할 수 있습니다.
예제 코드
from datetime import datetime, timedelta
present = datetime.now()
yesterday = present - timedelta(1)
tomorrow = present + timedelta(1)
print("Yesterday was :")
print(yesterday.strftime('%d-%m-%Y'))
print("Today is :")
print(present.strftime('%d-%m-%Y'))
print("Tomorrow would be :")
print(tomorrow.strftime('%d-%m-%Y'))실행 결과
Yesterday was : 05-04-2021 Today is : 06-04-2021 Tomorrow would be : 07-04-2021
코드 설명
datetime모듈에서datetime클래스와timedelta클래스를 임포트합니다.datetime.now()메서드를 사용해 현재 날짜와 시각을 구한 뒤 변수present에 저장합니다.timedelta(1)은 '하루'라는 시간 간격을 의미합니다. 인자로 전달된 숫자만큼의 일수를 나타냅니다.현재 날짜에서
timedelta를 빼면 어제 날짜가, 더하면 내일 날짜가 계산됩니다.strftime('%d-%m-%Y')를 사용해 날짜를 '일-월-연도' 형식의 문자열로 변환하여 출력합니다.
추가 팁
timedelta에는 일수 외에도 weeks, hours, minutes, seconds 등 다양한 인자를 사용할 수 있습니다. 예를 들어 timedelta(weeks=1)을 사용하면 일주일 전후의 날짜를 구할 수 있고, timedelta(hours=5)처럼 시간 단위 계산도 가능합니다.
또한 출력 형식을 바꾸고 싶다면 strftime의 포맷 코드를 조정하면 됩니다. 예를 들어 '%Y년 %m월 %d일'로 지정하면 한국어 스타일의 날짜 문자열을 얻을 수 있습니다.