[파이썬] 날짜와 시간의 주의 시작과 끝 계산

파이썬을 사용하여 날짜와 시간을 다루는 경우에는 종종 주의 시작과 끝을 계산해야 하는 상황이 생깁니다. 예를 들어, 특정 주에서의 월요일과 일요일의 날짜를 구하거나, 현재 날짜를 포함하는 주의 시작과 끝을 계산하는 등의 작업을 해야 할 수 있습니다. 이번 글에서는 파이썬으로 주의 시작과 끝을 계산하는 방법을 알아보겠습니다.

주(Week)의 시작과 끝 계산하기

주의 시작과 끝을 계산하는 방법은 파이썬의 datetime 모듈을 이용하면 간단하게 구현할 수 있습니다. 아래는 예시 코드입니다.

import datetime

def get_week_start_end(date):
    # 주의 시작을 구하기 위해 월요일의 날짜를 계산
    start = date - datetime.timedelta(days=date.weekday())
    
    # 주의 끝을 구하기 위해 일요일의 날짜를 계산
    end = start + datetime.timedelta(days=6)
    
    return start, end

위의 코드에서 get_week_start_end 함수는 파라미터로 주어진 date를 기준으로 주의 시작과 끝을 계산합니다. 주의 시작은 해당 날짜의 월요일, 주의 끝은 해당 날짜의 일요일입니다. datetime.timedelta(days=x) 함수를 사용하여 날짜를 더하거나 빼는 연산을 수행할 수 있습니다.

이제 위의 함수를 사용하여 특정 날짜의 주의 시작과 끝을 계산해보도록 하겠습니다.

today = datetime.date.today()
start, end = get_week_start_end(today)

print("Today:", today)
print("This week starts:", start)
print("This week ends:", end)

실행 결과는 다음과 같을 것입니다.

Today: 2022-01-10
This week starts: 2022-01-10
This week ends: 2022-01-16

위의 예제에서 datetime.date.today() 함수를 사용하여 현재 날짜를 가져옵니다. 이후 get_week_start_end 함수를 사용하여 주의 시작과 끝을 계산하고, 계산된 날짜를 출력합니다.

결론

파이썬의 datetime 모듈을 사용하면 주의 시작과 끝을 계산하는 작업을 간단하게 수행할 수 있습니다. 위의 예제 코드를 사용하여 특정 날짜의 주의 시작과 끝을 계산하고, 필요에 맞게 활용해보세요. 이러한 기능은 날짜와 시간을 다루는 작업을 할 때 유용하게 사용될 수 있습니다.