Sida 1 av 1

Python och beräkna skillnaden mellan klockslag

Postat: 01 mar 2013, 17:53
av ZerQ
Hej

Jag vill beräkna skillnaden mellan 2 olika klockslag och vill vara säker på att beräkningen görs korrekt över midnatt exempel om jag anger 22.00 till 04.00 så måste jag få fram rätt antal timmar och minuter.

Har kollat lite på timedate modulen men fattar inte riktigt den.
class datetime.timedelta
A duration expressing the difference between two date, time, or datetime instances to microsecond resolution.
Kan jag använda denna funktion för att göra det jag behöver men isåfall måste jag göra om mina tider till microsekunder? eller kan jag ta in 2 variabler som anger vilken tid det gäller så räknar denna modul fram rätt?

Re: Python och beräkna skillnaden mellan klockslag

Postat: 08 mar 2013, 00:01
av m!rage
Skapa två datetime-objekt och subtrahera dem. Du får ett timedelta tillbaka. Om du bara vill skriva ut tidsskillnaden kan du köra str() på den. Exempel:

Kod: Markera allt

>>> from datetime import datetime
>>> d1 = datetime(2013,3,7,22,0,0)
>>> d2 = datetime(2013,3,8,4,0,0)
>>> d2-d1
datetime.timedelta(0, 21600)
>>> str(_)
'6:00:00'

Re: Python och beräkna skillnaden mellan klockslag

Postat: 08 mar 2013, 19:37
av Christian Johansson
Jag stötte också på detta problem på jobbet nyligen, hade en logg med tidsstämplar med sekunder, millisekunder, mikrosekunder, nanosekunder och pikosekunder där jag i ett Python-script ville beräkna skillnaden mellan tider. Det krävdes en hel del reguljära uttryck och googlande om datetime och timedelta innan jag fick rätt på det, som tur är så räckte det med mikrosekundsprecision för datetime klarar inte av mindre tider än mikrosekunder, de tidsdifferenser vi är intresserade av är oftast i mikrosekunder.

Re: Python och beräkna skillnaden mellan klockslag

Postat: 10 mar 2013, 13:19
av ZerQ
Tackar m!rage

Det löste det perfekt. :)