Python 에서 날짜 범위 생성하기

Beginner

This tutorial is from open-source community. Access the source code

소개

Python 에서 datetime 모듈은 날짜와 시간을 다루기 위한 클래스를 제공합니다. 흔히 사용되는 작업 중 하나는 두 개의 주어진 날짜 사이의 날짜 목록을 생성하는 것입니다. 이 챌린지에서는 두 개의 날짜를 입력으로 받아 그 사이의 모든 날짜 목록을 반환하는 함수를 만들 것입니다.

날짜 범위 (Date Range)

daterange(start, end)라는 Python 함수를 작성하세요. 이 함수는 두 개의 datetime.date 객체를 인수로 받아 그 사이의 모든 날짜 목록을 반환합니다. 목록에는 시작 날짜는 포함되지만 종료 날짜는 포함되지 않아야 합니다.

이 문제를 해결하려면 다음 단계를 따르세요.

  1. datetime.timedelta.days를 사용하여 startend 사이의 일수를 구합니다.
  2. int()를 사용하여 결과를 정수로 변환하고 range()를 사용하여 각 날짜를 반복합니다.
  3. 리스트 컴프리헨션 (list comprehension) 과 datetime.timedelta를 사용하여 datetime.date 객체의 목록을 생성합니다.
from datetime import timedelta, date

def daterange(start, end):
  return [start + timedelta(n) for n in range(int((end - start).days))]
from datetime import date

daterange(date(2020, 10, 1), date(2020, 10, 5))
## [date(2020, 10, 1), date(2020, 10, 2), date(2020, 10, 3), date(2020, 10, 4)]

요약

이 챌린지에서는 Python 의 datetime 모듈을 사용하여 두 개의 주어진 날짜 사이의 날짜 목록을 생성하는 방법을 배웠습니다. 이 함수를 사용하여 두 날짜 사이의 일수를 계산하거나, 주어진 월 또는 연도의 날짜 목록을 생성하는 등 다양한 문제를 해결할 수 있습니다.