Gerar Intervalo de Datas em Python

Beginner

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

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:

  1. Use datetime.timedelta.days para obter o número de dias entre start e end.
  2. Use int() para converter o resultado em um inteiro e range() para iterar sobre cada dia.
  3. Use uma compreensão de lista (list comprehension) e datetime.timedelta para criar uma lista de objetos 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)]

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.