Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python으로 두 날짜 사이의 일 수 계산하기 – datetime 모듈 완벽 가이드

Python에서 두 날짜 사이의 일 수를 구하는 것은 datetime 모듈을 사용하면 매우 간단합니다. 이 글에서는 datetime 모듈의 date 클래스를 활용해 두 날짜의 차이를 일 단위로 계산하는 방법을 단계별로 알아보겠습니다.

1. 필요한 라이브러리 임포트하기

가장 먼저 datetime 모듈에서 date 클래스를 임포트합니다.

from datetime import date

2. 날짜 객체 생성하기

date 객체를 만들어 일 수를 계산할 두 날짜를 지정합니다. date 객체는 연도(year), 월(month), 일(day) 순서로 인자를 전달하여 생성할 수 있습니다.

date1 = date(2021, 7, 20)
date2 = date(2021, 8, 30)

3. 두 날짜의 차이 계산하기

두 date 객체를 빼면 timedelta 객체가 반환되며, 이 객체의 days 속성을 통해 두 날짜 사이의 일 수를 얻을 수 있습니다.

resDays = (date2 - date1).days

전체 예제 코드

지금까지의 내용을 하나로 합친 전체 코드는 다음과 같습니다.

from datetime import date

# 두 개의 날짜 설정
date1 = date(2021, 7, 20)
date2 = date(2021, 8, 30)

print("Date 1 = ", date1)
print("Date 2 = ", date2)

# 두 날짜 사이의 일 수 계산
resDays = (date2 - date1).days
print("Days between two dates = ", resDays)

실행 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

Date 1 = 2021-07-20
Date 2 = 2021-08-30
Days between two dates = 41

코드 설명

위 예제에서 2021년 7월 20일부터 8월 30일까지의 차이를 계산한 결과 41일이 출력되었습니다. 핵심 원리는 다음과 같습니다.

  • date 객체: 연도, 월, 일 정보만 담고 있는 날짜 객체입니다.
  • timedelta 객체: 두 date 객체를 뺀 결과로 반환되며, 기간(차이)을 나타냅니다.
  • days 속성: timedelta 객체가 가진 일 수 값을 정수 형태로 반환합니다.

이 방법은 윤년이나 월별 일 수 차이를 자동으로 처리해 주기 때문에, 복잡한 달력 계산 없이도 정확한 결과를 얻을 수 있다는 장점이 있습니다. 시간까지 포함한 정밀한 계산이 필요하다면 datetime 클래스와 timedelta 객체를 함께 활용하는 것도 좋은 방법입니다.