Per calcolare il numero di giorni tra due date usando Python possiamo fare affidamento sul modulo datetime che oltre a permetterci di manipolarne la formattazione e l’output è possibile utilizzare anche per operazioni matematiche tra elementi temporali.
from datetime import datetime date_format = "%d/%m/%Y" ask_a = input('Inserisci prima data (dd/mm/aaaa) o premi Enter per oggi:\n') if not ask_a: ask_a = datetime.now().strftime(date_format) print ("\033[FOggi:",ask_a) ask_b = input('Inserisci seconda data (dd/mm/aaaa):\n') try: a = datetime.strptime(ask_a, date_format) b = datetime.strptime(ask_b, date_format) if a > b: delta = a - b else: delta = b - a print ('La differenza tra le due date è di',delta.days,'giorni.') except: print('Rilevati problemi con formattazione dati inserite (dd/mm/aaa)')
Ma vediamo meglio nel dettaglio:
- (Riga 1) importiamo il modulo datetime;
- (Riga 2) definiamo la formattazione delle date (gg/mm/aaaa) ovvero in Python “%d/%m/%Y”;
- (Righe 3-6) immettiamo la data di partenza (di default sarà presa in considerazione la data corrente che sarà opportunamente mostrata a schermo);
- (Riga 7) immettiamo la seconda data;
- (Righe 8-14) proviamo a calcolare la differenza in giorni tra le date fornite come stringhe trasformandoli in oggetti data e quindi sottraendo sempre alla più lontana quella più vicina in maniera da ottenere sempre un valore positivo;
- (Riga 15)presentiamo a schermo il valore del calcolo effettuato;
- (Righe 16-17) nel caso di problemi rilevati durante il suddetto calcolo informare circa l’errore nella formattazione delle date inserite.
Filed under: Software | Tagged: datetime, differenza tra date, Python |
Rispondi