Created
August 14, 2024 17:37
-
-
Save geraldurbas/01274932c2e27b9648a5c2497894e915 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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