575 Stimmen

Wie finde ich die Zeitdifferenz zwischen zwei datetime-Objekten in Python?

Wie kann ich den Zeitunterschied in Minuten zwischen zwei datetime Objekte?

20voto

tgwaste Punkte 439

Verwenden Sie divmod:

now = int(time.time()) # epoch seconds
then = now - 90000 # some time in the past

d = divmod(now-then,86400)  # days
h = divmod(d[1],3600)  # hours
m = divmod(h[1],60)  # minutes
s = m[1]  # seconds

print '%d days, %d hours, %d minutes, %d seconds' % (d[0],h[0],m[0],s)

14voto

griknus17 Punkte 139

Um einfach die Anzahl der Tage zu ermitteln: timedelta hat ein Attribut "Tage". Dieses können Sie einfach abfragen.

>>>from datetime import datetime, timedelta
>>>d1 = datetime(2015, 9, 12, 13, 9, 45)
>>>d2 = datetime(2015, 8, 29, 21, 10, 12)
>>>d3 = d1- d2
>>>print d3
13 days, 15:59:33
>>>print d3.days
13

13voto

Tony Punkte 2017

So ermittle ich die Anzahl der Stunden, die zwischen zwei datetime.datetime-Objekten verstrichen sind:

before = datetime.datetime.now()
after  = datetime.datetime.now()
hours  = math.floor(((after - before).seconds) / 3600)

13voto

sparrow Punkte 9166

Ich dachte nur, es könnte nützlich sein, auch die Formatierung in Bezug auf timedelta zu erwähnen. strptime() parst eine Zeichenkette, die eine Zeit gemäß einem Format darstellt.

from datetime import datetime

datetimeFormat = '%Y/%m/%d %H:%M:%S.%f'    
time1 = '2016/03/16 10:01:28.585'
time2 = '2016/03/16 09:56:28.067'  
time_dif = datetime.strptime(time1, datetimeFormat) - datetime.strptime(time2,datetimeFormat)
print(time_dif)

Dies wird ausgegeben: 0:05:00.518000

7voto

Um die hour , minute y second können Sie dies tun

>>> import datetime
>>> first_time = datetime.datetime.now()
>>> later_time = datetime.datetime.now()
>>> difference = later_time - first_time
>>> m, s = divmod(difference.total_seconds(), 60)
>>> print("H:M:S is {}:{}:{}".format(m//60, m%60, s))

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X