Introdução
Em Python, o módulo datetime fornece classes para trabalhar com datas e horas. Uma tarefa comum é criar uma lista de datas entre duas datas fornecidas. Neste desafio, você criará uma função que recebe duas datas como entrada e retorna uma lista de todas as datas entre elas.
Intervalo de Datas (Date Range)
Escreva uma função Python chamada daterange(start, end) que recebe dois objetos datetime.date como argumentos e retorna uma lista de todas as datas entre eles. A lista deve incluir a data de início, mas não a data de término.
Para resolver este problema, você pode seguir estes passos:
- Use
datetime.timedelta.dayspara obter o número de dias entrestarteend. - Use
int()para converter o resultado em um inteiro erange()para iterar sobre cada dia. - Use uma compreensão de lista (list comprehension) e
datetime.timedeltapara criar uma lista de objetosdatetime.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)]
Resumo
Neste desafio, você aprendeu como criar uma lista de datas entre duas datas fornecidas usando o módulo datetime em Python. Você pode usar esta função para resolver uma variedade de problemas, como calcular o número de dias entre duas datas ou gerar uma lista de datas para um determinado mês ou ano.