Avatar billede obhat Nybegynder
28. maj 2007 - 12:47 Der er 18 kommentarer og
1 løsning

Beregning af tid

Nogen der ud fra denne kode kan beregne antal dage, timer og minutter?

sek = datediff("s", now(), rs("dato"))
Avatar billede w13 Novice
28. maj 2007 - 14:24 #1
strTime = rs("dato")
strSec = DateDiff("s",now(),strDato)
strMin = DateDiff("n",now(),strDato)
strHour = DateDiff("h",now(),strDato)

strTime = strHour&":"&strMin&":"&strSec
---------------------------------------
Sådan her? :)
Avatar billede w13 Novice
28. maj 2007 - 16:03 #2
Hov, nej:
-------------------
strTime = DateDiff("s",now(),rs("dato"))
strSec = (strTime mod 60)
strMin = (strTime div 60)
strHour = (strMin div 60)

strTime = strHour&":"&strMin&":"&strSec
-------------------
Sådan her! :) Det andet holder ikke.
Avatar billede obhat Nybegynder
28. maj 2007 - 23:24 #3
Det virker ikke! :(
Microsoft VBScript compilation
Avatar billede obhat Nybegynder
28. maj 2007 - 23:30 #4
Det skulle også helst være, dage, timer og minutter.
Avatar billede w13 Novice
28. maj 2007 - 23:32 #5
står der ikke hvilken linje?
Avatar billede obhat Nybegynder
29. maj 2007 - 02:04 #6
Fejl i linie:

strMin = (strTime div 60)
Avatar billede arne_v Ekspert
29. maj 2007 - 02:09 #7
bruger VBScript ikke \ for div ??
Avatar billede w13 Novice
29. maj 2007 - 11:01 #8
Hmmm.. Jo! :) Jeg tror nu det er /.
Avatar billede obhat Nybegynder
29. maj 2007 - 11:16 #9
Med \ & / får jeg ingen VBSript fejl, men et resultat der ser noget underlig ud:

-9795,04722222222:-587702,833333333:-50
Avatar billede arne_v Ekspert
29. maj 2007 - 14:48 #10
/ laver normal division
\ laver heltals division
der skal bruges hel tals division
Avatar billede obhat Nybegynder
29. maj 2007 - 16:37 #11
Unanset / eller \ får jeg bare en masse masse tal og komma:

Med / "-45366666,,5000006546:-448455555:-60"
Med \ "-9795,04722222222:-587702,833333333:-50"
Avatar billede obhat Nybegynder
31. maj 2007 - 12:42 #12
Ok, det kan ikke lade sig gøre.
Lukker spg.
Avatar billede arne_v Ekspert
01. juni 2007 - 02:26 #13
d = t \ 86400
h = (t mod 86400) \ 3600
m = (t mod 3600) \ 60
s = t mod 60

virker fint hos mig
Avatar billede obhat Nybegynder
01. juni 2007 - 11:36 #14
Ja men det giver jo stadig ikke et resultat der kan bruges.

Når dagene er beregnet, skal de brugte sekunder først trækkes fra, inden timer beregnes, så skal disse brugte sekunder trækkes fra og til sidst beregnes minutterne af de resterende sekunder.

Eller er det helt galt?
Avatar billede w13 Novice
01. juni 2007 - 13:15 #15
Dette er testet! :)
-----------------------------------
<%strDate = rs("date")
strDate = DateDiff("n",strDate,now())

Response.Write strDate & "<br>"

strDay = (strDate \ 1440)
strHour = ((strDate mod 1440) \ 60)
strMin = ((strDate mod 1440) mod 60)

Response.Write strDay&" dage, "&strHour&" timer, "&strMin&" minutter"%>
Avatar billede arne_v Ekspert
01. juni 2007 - 15:34 #16
obhat>

mod goer praecis det du snakker om

(og ja - jeg testede min kode inden jeg postede !)
Avatar billede obhat Nybegynder
09. juni 2007 - 23:50 #17
Flot w13 >> det virker :)
Men resultatet vises med negativt fortegn, kan det ændres, eller måske kan -fjernes?
Avatar billede w13 Novice
10. juni 2007 - 00:43 #18
Hvad hvis du retter:
<%strDate = rs("date")
strDate = DateDiff("n",strDate,now())
Til:
<%strDate = rs("date")
strDate = DateDiff("n",now(),strDate)
?
Avatar billede obhat Nybegynder
10. juni 2007 - 11:11 #19
Perfekt. rigtig mange tak for hjælpen :-)
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