Source code for datemore.daterange
# -*- coding: utf-8 -*-
import typing
if typing.TYPE_CHECKING: # pragma: no cover
import datemore.datetime # noqa
import datemore.date # noqa
DateType = typing.TypeVar(
"DateType", "datemore.datetime.Datetime", "datemore.date.Date"
)
[docs]class Daterange:
[docs] @staticmethod
def date_range(start: DateType, offset: int) -> typing.List[DateType]:
"""Returns a list of dates between a given start and offset
"""
return [start.add_days(d) for d in range(0, offset)]
[docs] @staticmethod
def dates_between(start: DateType, end: DateType) -> typing.List[DateType]:
"""Returns a list of dates between a given start and end date
"""
diff = end - start
days = diff.days + (1 if diff.seconds > 0 else 0)
return Daterange.date_range(start, offset=days)