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