[python] 특정 날짜와 시간에서 특정 시간이 지난 뒤의 주의 첫날과 마지막날 구하기
파이썬을 사용하여 특정 날짜와 시간에서 특정 시간이 지난 뒤의 주의 첫날과 마지막날을 구하는 방법은 datetime 모듈을 이용하는 것입니다. 아래는 그 예제 코드입니다.
from datetime import datetime, timedelta
def get_week_start_end_date(date_str, days_after):
# 주 시작을 계산하고 싶은 날짜와 시간을 파싱합니다
date = datetime.strptime(date_str, '%Y-%m-%d %H:%M:%S')
# 특정 시간이 지나는 만큼 timedelta를 계산합니다
delta = timedelta(days=days_after)
# 입력된 날짜에 timedelta를 더해 새로운 날짜를 구합니다
new_date = date + delta
# 새로운 날짜의 요일과 해당 주의 첫날을 구합니다
day_of_week = new_date.weekday()
start_of_week = new_date - timedelta(days=day_of_week)
# 해당 주의 마지막날을 구합니다 (첫날에 6일을 더하면 해당 주의 마지막날이 됩니다)
end_of_week = start_of_week + timedelta(days=6)
return start_of_week, end_of_week
이제 get_week_start_end_date
함수를 사용하여 특정 날짜와 시간에서 7일 후의 주의 첫날과 마지막날을 구할 수 있습니다.
date_str = '2023-10-15 12:00:00'
days_after = 7
start_date, end_date = get_week_start_end_date(date_str, days_after)
print(f"주의 첫날: {start_date}, 주의 마지막날: {end_date}")
위 코드를 실행하면 2023년 10월 15일부터 7일 후인 2023년 10월 22일부터 2023년 10월 28일 사이의 주를 구할 수 있습니다.
이와 유사한 방법으로 원하는 시간만큼의 다른 주의 첫날과 마지막날을 구할 수 있습니다. 예를 들어, 14일 후의 주의 첫날과 마지막날을 구하고 싶다면 days_after
값을 14로 변경하면 됩니다.
이러한 방법을 사용하여 파이썬에서 특정 시간 후의 주의 첫날과 마지막날을 손쉽게 구할 수 있습니다.
참고 자료:
- Python 공식 문서: https://docs.python.org/3/library/datetime.html#module-datetime