2014-06-14 71 views
5

io ho preso due date comeCome ottenere la differenza tra due date in ore, minuti e secondi?

import datetime 
data1 = datetime.datetime.now() 
data2 = datetime.datetime.now() 

ho fatto in questo modo, mi sto minuti e secondi. Voglio anche ore; come posso fare questo?

Il mio codice:

diff = data2-data1 
divmod(diff.days * 86400 + diff.seconds, 60) 
(3, 45) 

Come posso ottenere ore troppo? Qualsiasi aiuto sarebbe apprezzato.

+0

Che cosa hai provato? Cos'è 'c'? Quali sono le due date (se sia "adesso", che differenza ci si aspetta ?!) Hai letto [docs su 'timedelta'] (https://docs.python.org/2/library/datetime. html # timedelta-oggetti)? – jonrsharpe

+0

@jonrsharpe, Scusa per il mio errore di incantesimo l'ho corretto – Mulagala

+0

@ triple, Questo è un altro modo in cui il mio requisito si differenzia con 'datetime.datetime.now' – Mulagala

risposta

9

finalmente trovato soluzione

import datetime 
data1 = datetime.datetime.now() 
data2 = datetime.datetime.now() 

diff = data2 - data1 

days, seconds = diff.days, diff.seconds 
hours = days * 24 + seconds // 3600 
minutes = (seconds % 3600) // 60 
seconds = seconds % 60 

print hours,minutes,seconds 
+1

' total_mins = (diff.days * 1440 + diff.seconds/60) 'per ottenere la differenza in pochi minuti – Avishek

Problemi correlati