webForumDet fria alternativet

Dividera tid?

6 svar · 342 visningar · startad av JaktJanne

JaktJanneMedlem sedan feb. 20001 507 inlägg
#1

Skriver in en tid i långt tidsformat, denna vill jag dividera med ett tal (i mitt fall kilometer).
Det jag är ute efter är snitt tid/Km.

Går det :q
Tydligen blir tiden '01:35:20' en sträng. Använder jag talformat så blir ju det decimalt och det blir inte så bra :(

Skulle vilja beräkna något så här

snitt = Request.Form("Total_tid")/Request.Form("Längd")
SPiNMedlem sedan mars 20007 896 inlägg
#2

Räkna ut antalet sekunder totalt i tiden, och dividera sedan med längden. Då får du ut hur många sekunder/km - fortsätt med att dividera med 3600 så borde du få ut rätt värde. Hoppas jag. :)

Otestat:

<%
strTime = "01:35:20"
strKm = "22"
arrTime = Split ( strTime, ":" )

iSeconds = 0
iSeconds = iSeconds & ( cInt ( arrTime ( 0 ) ) * 3600 )
iSeconds = iSeconds & ( cInt ( arrTime ( 1 ) ) * 60 )
iSeconds = iSeconds & cInt ( arrTime ( 2 ) )

iSecsPerHour = cInt ( iSeconds ) / cInt ( strKm )
Response.Write "h/km: " & ( iSecsPerHour / 3600 )
%>
LarsGMedlem sedan dec. 200012 464 inlägg
#3
snitt = datediff("s",#00:00:00#,Request.Form("Total_tid"))/Request.Form("Längd")
SPiNMedlem sedan mars 20007 896 inlägg
#4

Det var ju lite enklare, ja. ;)

JaktJanneMedlem sedan feb. 20001 507 inlägg
#5

Tackar Lars, ditt exempel funkar perfekt (som vanligt) men mitt slutresultat blir lite knas. Jag tar nämnligen och dividerar snitt/60 för att få det i minuter och då tappar jag decimalerna.

Använde sökfunktionen och skall testa detta när jag kommer hem http://www.webforum.nu/showthread.php?s=&threadid=41175&highlight=decimaler

JaktJanneMedlem sedan feb. 20001 507 inlägg
#6

Tar upp denna igen pga en felberäkning :(
Har jag t.ex Total_tid = 00:12:26 och Längd = 2,5 så skall svaret bli 4,58 (minuter, sekunder) men det blir 4,96.
Det har funkat bra tills det jag fick dessa värde, eller blir det tokigt när man dividerar med 60 för att få fram det i minuter :q

JaktJanneMedlem sedan feb. 20001 507 inlägg
#7

Löste det men går det att förenkla detta mer ?

G_snitt = datediff("s",#00:00:00#,Request.Form("Total_tid"))/Request.Form("Längd")
D_snitt = dateadd("s",G_snitt,#00:00:00#)
R_snitt =  replace (D_snitt, ":", ",")
snitt = Right(R_snitt,4)
125 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
122 ms — hämta tråd, inlägg och bilagor (db)