Avatar billede jannick281090 Nybegynder
13. november 2007 - 13:18 Der er 9 kommentarer og
1 løsning

Regne med tid?

Simpelt spørgsmål, hvordan udregner jeg antal dage, minutter og sekunder mellem dette tidsrum 11-11-2007 14:50:10 til 13-11-2007 15:10? Bare et eksempel, skal nemlig kunne skrive værdierne af hvor mange dage, minutter og sekunder det er siden mine brugere sidst har været aktive på min hjemmeside.
Avatar billede fennec Nybegynder
13. november 2007 - 13:24 #1
Ikke helt med på hvilke resultat du vil have. Tag disse datoer:

31-12-2006 23:59:59 <-> 01-01-2007 00:00:01

Disse kan adføre flere resultater. For eksempel er der gået en dag, men vi er også i et nyt måned og faktisk også et nyt år. Selv om der kun er gået 2 sek.

Hvad skal dit resultat være??

Hvis det er 2 sek, vil du egentlig bare finde ud af hvormange sek der er gået siden sidst, også omregen de sek til dage/min/sek.
Avatar billede cpufan Juniormester
13. november 2007 - 13:26 #2
Avatar billede jannick281090 Nybegynder
13. november 2007 - 13:26 #3
Vil gerne have følgende resultat: X Dage, X Minutter, X Sekunder
Avatar billede softspot Forsker
13. november 2007 - 13:27 #4
Du kan finde differencen mellem to datoer med datediff. Den tager forskellige parametre, som angiver størrelsen af intervallet (f.eks. sekunder, minutter, timer, dage osv.).

Du kan f.eks. finde den mindste fællesnævner mellem de to datoer (sekunder) og så beregne på dette grundlag. Noget i stil med dette:

dato1 = dateadd("d", -1, now) ' sættes til igår ved dette tidspunkt
dato2 = now ' sættes til dette tidspunkt

' Find forskellen i sekunder
dif = datediff("s", dato1, dato2)

s = dif mod 60
dif = dif / 60

m = dif mod 60
dif = dif / 60

t = dif mod 24
dif = dif / 24

d = dif

' Udskriv forskellen
Response.Write d & " dage, " & t & " timer, " & m & " minutter og " & s & " sekunder"
Avatar billede jannick281090 Nybegynder
13. november 2007 - 13:30 #5
Tak endnu engang softspot, smid svar =D
Avatar billede softspot Forsker
13. november 2007 - 13:35 #6
Velbekomme :-)
Avatar billede softspot Forsker
13. november 2007 - 13:37 #7
Tak for point :)
Avatar billede Slettet bruger
13. februar 2009 - 20:17 #8
Der er et problem med den her. Hvis dif = 110 så siger den 2 minutter og 50 sekunder
Avatar billede softspot Forsker
14. februar 2009 - 01:59 #9
Prøv denne version i stedet:

dato1 = dateadd("d", -1, now) ' sættes til igår ved dette tidspunkt
dato2 = now ' sættes til dette tidspunkt

' Find forskellen i sekunder
dif = datediff("s", dato1, dato2)

s = dif mod 60
dif = int(dif / 60)

m = dif mod 60
dif = int(dif / 60)

t = dif mod 24
dif = int(dif / 24)

d = dif

' Udskriv forskellen
Response.Write d & " dage, " & t & " timer, " & m & " minutter og " & s & " sekunder"
Avatar billede Slettet bruger
14. februar 2009 - 02:07 #10
Det andet virker helt fint.. :) Har kun brug for at regne minutter og sekunder ud.. :-)
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