Cómo generar un datetime para cada hora de un día dado en Python

Este código de ejemplo genera un datetime con zona horaria para cada hora de un día dado (los minutos y segundos siempre están establecidos en 0) en una zona horaria dada.

Primero, instala la librería UliEngineering y pytz para zonas horarias:

install_uliengineering.sh
pip install --user UliEngineering pytz

Ahora puedes usar UliEngineering.Utils.Fecha.yield_hours_on_day():

yield_hours_example.py
from UliEngineering.Utils.Fecha import *

for hour in yield_hours_on_day(year=2022, month=6, day=15, tz=pytz.timezone("Europe/Berlin"):
    pass # TODO: Tu código va aquí

O, si quieres tener una list de instancias datetime en lugar de un generador:

yield_hours_list_example.txt
from UliEngineering.Utils.Fecha import *

hours = list(yield_hours_on_day(year=2022, month=6, day=15, tz=pytz.timezone("Europe/Berlin")))

Echa un vistazo a artículos similares por categoría: Python