[파이썬] 날짜와 시간의 주기 건너뛰기

일상에서 날짜와 시간은 중요한 역할을 합니다. 하지만 때로는 특정 날짜와 시간을 건너뛰고 싶을 때가 있습니다. 이러한 기능은 파이썬의 datetime 모듈을 사용하여 간단하게 구현할 수 있습니다.

날짜 건너뛰기

특정 날짜에서 일정 기간을 건너뛰고 싶을 때, timedelta 클래스를 사용할 수 있습니다. 예를 들어, 현재 날짜로부터 3일 후의 날짜를 얻고 싶다면 다음과 같이 작성할 수 있습니다:

from datetime import datetime, timedelta

current_date = datetime.now()  # 현재 날짜와 시간
next_date = current_date + timedelta(days=3)  # 3일 후의 날짜

print("현재 날짜:", current_date)
print("3일 후의 날짜:", next_date)

결과는 다음과 같습니다:

현재 날짜: 2022-01-01 10:00:00
3일 후의 날짜: 2022-01-04 10:00:00

timedelta 클래스의 days 파라미터를 이용하여 건너뛸 날짜의 수를 지정할 수 있습니다. 이외에도 hours, minutes, seconds 등 다양한 파라미터를 사용할 수 있습니다.

시간 건너뛰기

시간의 경우에도 마찬가지로 timedelta를 사용할 수 있습니다. 예를 들어, 현재 시간으로부터 2시간 후의 시간을 얻고 싶다면 다음과 같이 작성할 수 있습니다:

from datetime import datetime, timedelta

current_time = datetime.now()  # 현재 날짜와 시간
next_time = current_time + timedelta(hours=2)  # 2시간 후의 시간

print("현재 시간:", current_time)
print("2시간 후의 시간:", next_time)

결과는 다음과 같습니다:

현재 시간: 2022-01-01 10:00:00
2시간 후의 시간: 2022-01-01 12:00:00

timedelta 클래스의 hours 파라미터를 이용하여 건너뛸 시간의 수를 지정할 수 있습니다. 마찬가지로 minutes, seconds 등도 사용할 수 있습니다.

요일 건너뛰기

요일을 건너뛰고 싶을 때, timedelta 클래스의 days 파라미터를 사용할 수 있습니다. 예를 들어, 현재 날짜로부터 일주일 후의 날짜를 얻고 싶다면 다음과 같이 작성할 수 있습니다:

from datetime import datetime, timedelta

current_date = datetime.now()  # 현재 날짜와 시간

# 현재 요일
current_weekday = current_date.weekday()

# 다음 주의 동일한 요일로 건너뛰기
next_date = current_date + timedelta(days=7-current_weekday)

print("현재 날짜:", current_date)
print("다음 주의 동일한 요일로 건너뛴 날짜:", next_date)

결과는 다음과 같습니다:

현재 날짜: 2022-01-01 10:00:00
다음 주의 동일한 요일로 건너뛴 날짜: 2022-01-08 10:00:00

현재 요일을 current_date.weekday()로 확인하고, 다음 주의 동일한 요일로 건너뛰기 위해 7 - current_weekdaydays 파라미터에 전달합니다.

파이썬의 datetime 모듈을 이용하면 날짜와 시간의 주기를 간단하게 건너뛸 수 있습니다. timedelta 클래스를 조합하여 필요한 건너뛸 날짜, 시간, 요일을 설정할 수 있습니다. 이러한 기능을 이용하여 다양한 날짜와 시간 계산을 자유롭게 할 수 있습니다.