Avatar billede nidyahou Praktikant
22. oktober 2003 - 18:52 Der er 15 kommentarer og
1 løsning

beregn tid

det her skal bruges til at beregne online tid, men et minus er at når der er mere end 2 timer så kommer der jo det problem at den gange med sig selv, hvordan kan jeg løse så det bliver ordenligt... det ser således ud:

regtid = split(rs("Onlinetid"), ":")
Min = DateDiff("n", session("sidstlog"), Now) < her får vi gjort forskellen op i minutter som gir f.x 67
'Udregninger
plusmin = Min + regtid(1) < her plusser vi 67 oveni den tid der i forvejen er
strTimer = Min \ 60 < her deler vi de nye minutter med 60
plusTimer = plusmin \ 60 < her deller vi sammenlagte minutter med 60
plusTimer = plusTimer + regtid(0) < resultatet ovenover + de registrerede timer
plusmin = plusmin-60*plusTimer < det færdige resultat af minutter
Minutter = Min-60*strTimer < det nye minuttal
'Færdige resultat
SamlTimer = plusTimer
SamlMinutter = plusmin
Avatar billede Slettet bruger
22. oktober 2003 - 20:21 #1
det hele kan gøre meget nemmere... du skal bruge funktionen MOD, der tager resten af det, du har divideret med (7 MOD 3 = 1 da 4 kan divideres med 3 2 gange, og der så er resten 1 tilbage)

regtid = split(rs("Onlinetid"), ":")
Min = DateDiff("n", session("sidstlog"), Now)

SamlTimer = regtid(0) + (Min / 60 - Min MOD 60)
SamlMinutter = regtid(1) + Min MOD 60
Avatar billede Slettet bruger
22. oktober 2003 - 20:22 #2
i 2. linje i forklaringen af MOD-funktionen, skal der stå 7 i stedet for 4:
du skal bruge funktionen MOD, der tager resten af det, du har divideret med (7 MOD 3 = 1 da 7 kan divideres med 3 2 gange, og der så er resten 1 tilbage)
Avatar billede nidyahou Praktikant
23. oktober 2003 - 14:09 #3
nu kommer jeg ud i kommatal...
Avatar billede nidyahou Praktikant
23. oktober 2003 - 14:11 #4
hvorn er det hele min udregning skal se ud ?
Avatar billede nidyahou Praktikant
23. oktober 2003 - 14:14 #5
den der udregning holder ikk
Avatar billede nidyahou Praktikant
23. oktober 2003 - 14:18 #6
de holder i minutter men ikke i timer
Avatar billede Slettet bruger
23. oktober 2003 - 14:37 #7
jeg kom til at dividere det forkerte sted...

regtid = split(rs("Onlinetid"), ":")
Min = DateDiff("n", session("sidstlog"), Now)

SamlTimer = regtid(0) + (Min - Min MOD 60)/60
SamlMinutter = regtid(1) + Min MOD 60
Avatar billede nidyahou Praktikant
23. oktober 2003 - 14:56 #8
du har været online i: 0 timer og 60 minutter det kan vi ikke have, men hvorfor gør den det ?
Avatar billede Slettet bruger
23. oktober 2003 - 15:07 #9
prøv at smide det her ind efter:

response.write regtid(0) & ":" & regtid(1) & "<br>" & samlTimer & ":" & samlTimer
Avatar billede nidyahou Praktikant
23. oktober 2003 - 17:45 #10
hvad skal det hjælpe ?
Avatar billede Slettet bruger
26. oktober 2003 - 18:17 #11
det er så jeg kan se, hvordan outputtet er...
Avatar billede nidyahou Praktikant
26. oktober 2003 - 19:58 #12
regtid0 > 0 regtid1 > 22 samltimer > 0 samlminutter > 24
Avatar billede Slettet bruger
28. oktober 2003 - 15:58 #13
prøv det her...

regtid = split(rs("Onlinetid"), ":")
Min = DateDiff("n", session("sidstlog"), Now)

Minutter = regtid(1) - Min MOD 60

SamlTimer = regtid(0) + ((Min - Min MOD 60)+(SamlMinutter
- SamlMinutter MOD 60))/60
SamlMinutter = Minutter Mod 60

Response.write "Du har været online i " & SamlTimer
if SamlTimer <> 1 then
response.write " timer"
else
response.write " time"
end if
response.write " og " & SamlMinutter
if SamlMinutter <> 1 then
response.write " minutter"
else
response.write " minut"
end if
response.write "."
Avatar billede nidyahou Praktikant
29. oktober 2003 - 21:02 #14
fatter ikk helt hvad det er der sker, forklar lige :)
Avatar billede Slettet bruger
31. oktober 2003 - 16:28 #15
jeg håber, du forstår det nu...

regtid = split(rs("Onlinetid"), ":")
Min = DateDiff("n", session("sidstlog"), Now)

'RESTEN AF [(MINUTTER I DB'EN + DET NYE ANTAL MINUTTER) / 60] (EKS. RESTEN AF 77/60 = 17)

SamlMinutter = (regtid(1) + Min) MOD 60

'TIMER I DB'EN + DET ANTAL HELE GANGE, (MIN + DB-MINUTTER) KAN DIVIDERES MED 60 (RESTEN AF MIN / 60 TRUKKET FRA MIN, SÅ DET BLIVER ET TAL, DER GÅR OP I 60)

SamlTimer = regtid(0) + ((Min + regtid(1))- (Min + regtid(1) MOD 60) / 60

Response.write "Du har været online i " & SamlTimer

'SØRGER FOR, AT DET BLIVER UDSKREVET GRAMATISK KORREKT, SÅ DET IKKE HEDDER 1 TIMER

if SamlTimer <> 1 then
response.write " timer"
else
response.write " time"
end if

response.write " og " & SamlMinutter

'UDSKRIVER GRAMATISK KORREKT

if SamlMinutter <> 1 then
response.write " minutter"
else
response.write " minut"
end if

response.write "."
Avatar billede nidyahou Praktikant
10. december 2003 - 23:32 #16
lukker og henviser til: http://www.eksperten.dk/spm/434707
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester