Avatar billede danriis Nybegynder
05. juni 2001 - 21:19 Der er 4 kommentarer og
1 løsning

Datediff .....

Hej..

jeg har en session som hedder tid (session(\"tid\")) og skal/vil finde forskellen i timer,minutter,sekunder

tid gemmes som now

jeg vil gerne have det til at stå sådan her:

Tid online: x timer, x minutter og x sekunder.

Jeg har sittet og bøvlet lidt med datediff men den gør ik\' som jeg vil have den til :(

håber at der er nogen som kan hjælpe...
Avatar billede danriis Nybegynder
05. juni 2001 - 21:23 #1
Undskyld dårlig stavning... håber i fatter helheden :)
Avatar billede mwittrock Nybegynder
05. juni 2001 - 22:58 #2
Hvis du i Session_OnStart sætter Session(\"tid\") = Now, kan du udskrive tidsforskellen i timer, minutter og sekunder sådan her:

Dim dtmNow

dtmNow = Now

Response.Write(\"Tid online: \")
Response.Write(CStr(DateDiff(\"h\", Session(\"tid\"), dtmNow)) & \" timer, \")
Response.Write(CStr(DateDiff(\"n\", Session(\"tid\"), dtmNow) Mod 60) & \" minutter, og \")
Response.Write(CStr(DateDiff(\"s\", Session(\"tid\"), dtmNow) Mod 60) & \" sekunder\")

Hvis din Session eksempelvis er halvandet minut gammel, er DateDiff(\"s\", Session(\"tid\"), dtmNow) lige 90 sekunder. De 60 af dem tæller dog allerede med som det ene minut, derfor bruges Mod operatoren til at finde de resterende sekunder.
Avatar billede danriis Nybegynder
05. juni 2001 - 23:11 #3
Når den kommer op over 30 sekunder skoder den!!

Så ligger den et minut ekstra oven i.

Hvorfor?
Avatar billede mwittrock Nybegynder
05. juni 2001 - 23:47 #4
Sært.. øjeblik.
Avatar billede mwittrock Nybegynder
06. juni 2001 - 00:00 #5
Well, enten har jeg lavet en obskur fejl, eller også opfører DateDiff sig lidt underlidt. Under alle omstændigheder ser nedenstående ud til at virke efterhensigten:

Dim dtmNow, lngSecDiff

dtmNow = Now
lngSecDiff = DateDiff(\"s\", Session(\"tid\"), dtmNow)

Response.Write(\"Tid online: \")
Response.Write(CStr(Int(lngSecDiff / 3600)) & \" timer, \")
Response.Write(CStr(Int(lngSecDiff / 60) Mod 60) & \" minutter, og \")
Response.Write(CStr(lngSecDiff Mod 60) & \" sekunder\")
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