From 6db74b04f509fbe001d5a6de18659127a825235b Mon Sep 17 00:00:00 2001 From: raspithek Date: Mon, 11 Nov 2024 07:00:14 +0000 Subject: [PATCH] =?UTF-8?q?=E2=80=9Edate=5Fdiff.py=E2=80=9C=20hinzuf=C3=BC?= =?UTF-8?q?gen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Übernahme --- date_diff.py | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 date_diff.py diff --git a/date_diff.py b/date_diff.py new file mode 100644 index 0000000..15988b2 --- /dev/null +++ b/date_diff.py @@ -0,0 +1,52 @@ +#! python +import sys +from datetime import datetime + +def date_diff_in_days(date1, date2): + try: + # Konvertiere die übergebenen Datumsangaben in datetime-Objekte + if date1 == '$today': + print('date1 ist heutiges Datum') + date1_obj = datetime.today() + date1_obj = date1_obj.replace(hour=0,minute=0,second=0,microsecond=0) + else: + print(f'konvertiere erstes Datum {date1}') + date1_obj = datetime.strptime(date1, "%d.%m.%Y") + + if date2 == '$today': + print('date2 ist heutiges Datum') + date2_obj = datetime.today() + date2_obj = date2_obj.replace(hour=0,minute=0,second=0,microsecond=0) + else: + print(f'konvertiere zweites Datum {date2}') + date2_obj = datetime.strptime(date2, "%d.%m.%Y") + + print(f'konvertiere zweites Datum {date2}') + + + # Berechne die Differenz zwischen den beiden Datumsangaben + print(f'erstes Datum: {date1_obj}, zweites Datum: {date2_obj}') + diff = abs(date1_obj - date2_obj).days + return diff + except ValueError as e: + print("Fehler beim Parsen der Datumsangaben:", e) + return None + +if __name__ == "__main__": + # Überprüfe, ob genau zwei Datumsangaben als Parameter übergeben wurden + print(f'Params: {sys.argv}') + print(f'Anzahl Param: {len(sys.argv)}') + if len(sys.argv) != 3: + print("Bitte geben Sie zwei Datumsangaben im Format YYYY-MM-DD als Kommandozeilenparameter ein.") + else: + date1 = sys.argv[1] + date2 = sys.argv[2] + + # Berechne die Differenz in Tagen zwischen den beiden Datumsangaben + difference = date_diff_in_days(date1, date2) + if difference is not None: + if sys.argv[1] == '$today': + date1= 'heutigen Tag' + if sys.argv[2] == '$today': + date2= 'heutigen Tag' + print(f"Zwischen dem {date1} und dem {date2} liegen {difference} Tage.") \ No newline at end of file