„date_diff.py“ hinzufügen
Übernahme
This commit is contained in:
52
date_diff.py
Normal file
52
date_diff.py
Normal file
@@ -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.")
|
Reference in New Issue
Block a user