Files
30-seconds-of-code/snippets/daterange.md
2022-03-22 12:32:56 +02:00

808 B

title, tags, expertise, author, firstSeen, lastUpdated
title tags expertise author firstSeen lastUpdated
Date range date intermediate maciv 2020-10-28T16:19:14+02:00 2021-01-07T23:30:28+02:00

Creates a list of dates between start (inclusive) and end (not inclusive).

  • Use datetime.timedelta.days to get the days between start and end.
  • Use int() to convert the result to an integer and range() to iterate over each day.
  • Use a list comprehension and datetime.timedelta to create a list of datetime.date objects.
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)]