Jag har en programkod som jag tar tid på, och det fungerar bra så länge man håller sig inom samma dygn. Om om körningen passerar midnatt så blir naturligtvis beräkningen fel. Och jag vet inte hur jag ska få till det. Några tips? Problemet är att - operatorn inte verkar hantera det så bra. Använd DateDiff istället. Härligt, tack för svaret. Just ja, det är nog samma problem med mitt exempel, man ska använda Now där också för att inte få problem över midnatt. Du kan kolla mitt uppskick om du är intresserad av att se hur jag löser det. Ska ta en titt på det. Tack.Beräkna tidsåtgång för en process, om körningen passerar midnatt?
Så här ser det ut:
Dim d1 As Date, d2 As Date 'start- & slut-tid
d1 = Format(Time, "hh:mm:ss") 'd1=starttid
'här körs all kod
d2 = Format(Time, "hh:mm:ss") 'd2=sluttid
Dim d3 As Date 'beräknad tidsåtgång
d3 = d2 - d1 'd3= sluttiden minus starttiden
'd3 blir ju knas om körningen passerat midnatt.
'kolla om sluttiden är större än starttiden, om den inte är det
'har man passerat midnatt, och då måste man först räkna tidsåtgången fram till midnatt
'sedan hur långt som gått efter midnatt. Eller på nåt annat smart sätt?
'If d2 < d1 Then
'????
'End If
msgbox "Tidsåtgång: " & d3
Tips? Lösningar?Sv: Beräkna tidsåtgång för en process, om körningen passerar midnatt?
<code>
Dim d1 As Date, d2 As Date
Dim Tid As Long
d1 = Time
'kod
d2 = Time
Tid = DateDiff("s", d1, d2)
MsgBox "Tidsåtgång: " & Tid & " sekunder"
</code>
/JohanSv:Beräkna tidsåtgång för en process, om körningen passerar midnatt?
Jag märkte även att om jag gör såhär:
<code>
d1 = Now
'kod
d2 = Now
d3 = d2 - d1
</code>
Så funkar det eftersom man får med datumet också. :)Sv: Beräkna tidsåtgång för en process, om körningen passerar midnatt?
/JohanSv:Beräkna tidsåtgång för en process, om körningen passerar midnatt?
Programarkivet:Två StopUr växelvisSv: Beräkna tidsåtgång för en process, om körningen passerar midnatt?