Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save geraldurbas/01274932c2e27b9648a5c2497894e915 to your computer and use it in GitHub Desktop.
Save geraldurbas/01274932c2e27b9648a5c2497894e915 to your computer and use it in GitHub Desktop.
from datetime import datetime, timedelta
import calendar
# Start- und Enddatum festlegen
start_datum = datetime(2019, 12, 1) # 1. Januar 2023
end_datum = datetime(2024, 12, 1) # 1. Juli 2024
# Basis-URL festlegen
base_url = '<a href="https://irgendwo.com/admin/index.php/sell/orders/?order%5Bfilters%5D%5Bdate_add%5D%5Bfrom%5D={start_datum}&order%5Bfilters%5D%5Bdate_add%5D%5Bto%5D={end_datum}">{start_datum} - {end_datum}</a><br />'
# Funktion zum Generieren von URLs für jeden Monat
def generiere_urls(start_datum, end_datum):
aktuelle_datum = start_datum
urls = []
while aktuelle_datum < end_datum:
start_str = aktuelle_datum.strftime("%Y-%m-%d")
start_m = aktuelle_datum.strftime("%m")
start_y = aktuelle_datum.strftime("%Y")
# Enddatum berechnen: Nächster Monat, erster Tag
naechster_monat = aktuelle_datum + timedelta(days=32)
naechster_monat = datetime(naechster_monat.year, naechster_monat.month, 1)
letzter_tag = datetime(aktuelle_datum.year, aktuelle_datum.month, calendar._monthlen(aktuelle_datum.year, aktuelle_datum.month))
#print(letzter_tag)
# Enddatum darf nicht nach dem eigentlichen Enddatum liegen
end_str = min(letzter_tag, end_datum).strftime("%Y-%m-%d")
# URL generieren und zur Liste hinzufügen
url = base_url.format(start_datum=start_str, end_datum=end_str)
urls.append(url)
# Auf den nächsten Monat springen
aktuelle_datum = naechster_monat
return urls
# URLs generieren
urls = generiere_urls(start_datum, end_datum)
for element in urls:
print(element)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment