Tempo rimanente funzione in Python

April 13

Il linguaggio di programmazione Python offre una suite di moduli utili e potenti per gestire le attività quotidiane. Qualcosa di semplice come confrontando date e gli orari che, in realtà, sono una sfida nella programmazione dei computer, può essere realizzato attraverso l'utilizzo di Python built-in capacità da includere nel modulo "datetime". Creando stringhe formattate per visualizzare le date e le ore, e l'esecuzione di sottrazione sopra, il programmatore può visualizzare una valutazione corrente di tempo rimanente in un programma, basato sull'ora corrente e un tempo futuro.

Data Ora oggetti

Il modulo "datetime" in Python negozi classi e le informazioni per i programmatori di usare quando si manipolano i valori di tempo o di dati. Un oggetto datetime può contenere dati relativi a una data o un'ora rispetto all'anno tutta la strada fino al microsecondo. Soprattutto, il programmatore può memorizzare valori di tempo altrettanto bene. Ad esempio, il programmatore può memorizzare una volta formattato come "HH: MM: SS" (ora / minuti / secondi) all'interno di un oggetto datetime.

Tempo Delta oggetti

Per eseguire operazioni su data e ora, il programmatore userà un oggetto "timedelta", che rappresenta la differenza tra due volte. Quando sottraendo due oggetti datetime, il risultato è un oggetto timedelta, e qualsiasi presentazione dei dati in esso avverrà mediante gli argomenti ei valori di un oggetto timedelta. Così, per esempio, sottraendo la data corrente rappresentato in un oggetto datetime da una data futura restituirà un oggetto timedelta.

Funzione logica di base

Per sottrarre le date, un modo semplice Begines inserendo una stringa di tempo per rappresentare la data futura. Poi, il programmatore può convertire l'ora corrente in una stringa, tagliando fuori i millisecondi finali. Infine, si può creare una stringa per rappresentare il formato dell'ora. Tutte e tre queste variabili verranno utilizzati per calcolare il tempo rimanente in una funzione:

t1 = '23: 59: 59 '// mezzanotte, quasi
t2 = (str) datetime.time (datetime.now ()) // t2 è il tempo corrente
t2 = t2 [0: t2.index ( '.')] // t2 rappresenta il tempo corrente senza millisecondi
FMS = '% H:% M:% S' // tempo formiato

Presentando Tempo rimanente

Ora che ci sono due volte in formato stringa (il tempo futuro, e l'ora corrente) il programmatore può sottrarre le ore. t1 variabile rappresenta il tempo futuro, quindi il programmatore sottrarre il tempo corrente, t2, da t1, per ottenere la differenza. Poi, si può semplicemente stampare l'oggetto timedelta per visualizzare il tempo rimanente:

cambiamento = datetime.strptime (t1, FMS) - datetime.strptime (t2, FMS)
cambiamento
datetime.timedelta (0, 24337)
cambiamento di stampa
06:45:37