Dato og time beregning
Hejsa :)Jeg har fået bakset en kode sammen, der kan udregne dato/time på følgende måde:
Startdato 11-07-2001 10:00:00
Slutdato 11-07-2001 17:10:00
Resultat= 07:10:00
Den virker også hvis jeg laver det sådan:
Startdato 11-07-2001 10:00:00
Slutdato 12-07-2001 08:00:00
Resultat= 22:00:00
Men hvis jeg udskifter den sidste slutværdi fra 08:00:00 til 12:00:00 får jeg bare resultatet 02:00:00. Ligeledes hvis jeg skriver den 13-07-2001 i slutdatofeltet.
Hvorledes fikses dette? Jeg har nedenstående kode i en opdater_database.asp fil:
Function MinutesBetween(mbTimeBegin, mbTimeEnd)
mbMinutes = ((Hour(mbTimeEnd) * 60) + Minute(mbTimeEnd)) - ((Hour(mbTimeBegin) * 60) + Minute(mbTimeBegin))
If mbMinutes < 0 Then mbMinutes = mbMinutes + (60 * 24)
MinutesBetween = mbMinutes
End Function
\' denne funktion sørger for at tallet altid er 2-cifret
Function FixNumber(fnNumber)
FixNumber = fnNumber
If Len(\"\" & fnNumber) < 2 Then FixNumber = \"0\" & fnNumber
End Function
\' denne funktion udregner timer og minutter ud og sætter det rigtigt op - min. udregnet vha. \"MinutesBetween\"-funktionen
Function TimeBetween(mbTimeBegin, mbTimeEnd)
tmpMinutes = MinutesBetween(mbTimeBegin, mbTimeEnd)
TimeBetween = \"\" & FixNumber(tmpMinutes \\ 60) & \".\" & FixNumber(tmpMinutes - ((tmpMinutes \\ 60) * 60))
End Function
start = request(\"tid_startdato\") & \" \" & request(\"tid_starttidspunkt\")
slut = request(\"tid_slutdato\") & \" \" & request(\"tid_sluttidspunkt\")
mellem = MinutesBetween(CDate(formatdatetime(start, 4)), CDate(formatdatetime(slut, 4)))
SQLstmt = \"UPDATE Tidsreg1 SET MINUTTER=\'\" & mellem & \"\' WHERE BRUGER_ID=\"& Session(\"BRUGER_ID\") & \" AND ID=\" & opdater
