„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