Avatar billede hrlund Nybegynder
30. august 2002 - 17:51 Der er 8 kommentarer og
1 løsning

Dato

Jeg har et adminsystem hvor jeg logger datoen hvor de forskellige brugere i admin sidst har logget ind.

rs("FLastLogin") = Now()
rs.update

Og når formatat udskrives ser det sådan ud:
27-08-2002 15:21:13

Det jeg gerne vil lave, er at lave en "tæller" på hvor lang tid det er siden brugeren har logget på..
Altså hvis jeg logger på 26-08-2002 16:23:13
og det er i dag 27-08-2002 15:21:13 , så skal den fortælle at det er 1 dag, 1 time og 2 min siden brugeren er logget på ..
Hvordan gør jeg det ?
Avatar billede medions Nybegynder
30. august 2002 - 17:52 #1
Brug DateDiff()

//>Rune
Avatar billede hrlund Nybegynder
30. august 2002 - 17:52 #2
Hvordan ?
Avatar billede medions Nybegynder
30. august 2002 - 17:54 #3
TheDate = "27-08-2002 15:21:13"
Msg = "Days from today: " & DateDiff("d", Now, TheDate)
Response.Write(Msg)

//>Rune
Avatar billede medions Nybegynder
30. august 2002 - 17:55 #4
;o)

//>Rune
Avatar billede eagleeye Praktikant
30. august 2002 - 19:15 #5
*du ïkke havde to ens spørgsmål åbne på samme tid http://www.eksperten.dk/spm/250923*

Men du skal havde gang i DateDiff og så skal du selv udregne dage timer minutter og sekuner. DateDiff returnere nemligt forskellen mellem to tidspunkter i dage, timer, minutter, sekuner + andet... Så du må lave en function i stil med dette:

<html>
<head><title>Function TimeDiff</title></head>
<body>
<center>
<%
sStartTime = "24-12-2002 14:00:00"
sEndTime = "25-12-2002 16:23:15"
%>
Start Time = <%=sStartTime%><br>
End Time = <%=sEndTime%><br>
TimeDiff =
<%
sTimeDiff = TimeCalc(sStartTime, sEndTime)
response.write sTimeDiff
%>
</body>
</html>

<%
function TimeCalc(StartTime, FinishTime)
Dim diff, mins, hours, secs, days
diff = datediff("s",StartTime,FinishTime)
'set the minutes ignoring the remaining fraction
days = Int(diff / (24*60*60))
hours = int(diff / (60*60) - days*24)
' set the minutes by using the remaining fraction and multiplying by 60 i.e., .5 * 60 = 30
mins = Int(60*(diff / (60*60) - hours - days*24))
secs = Int(diff - ((60*60)* hours) - (60 * mins) - days*24*60*60)
'hours = string(2-len(hours),"0") & hours
'mins = string(2-len(mins),"0") & mins
'secs = string(2-len(secs),"0") & secs
' how do we want to return the calculation..?
TimeCalc = days & " dage " & hours & " timer " & mins & " minutter " & secs & " sekunder"
end function
%>
Avatar billede eagleeye Praktikant
30. august 2002 - 19:41 #6
Du kan ligge functionen ind i en include fil eller i bunden af din ASP fil som vist ovenfor.
Så kan du lave din kode i stil med:


response.write "Du har været online : " & TimeCalc(rs("FLastLogin"), now)
Avatar billede hrlund Nybegynder
02. september 2002 - 00:33 #7
Hvis jeg henter starttime ud fra en database, skal det ikke se sådan her ud så ?
sStartTime =  " & rs(Flastlogin) & "

Det virker bare ikke :-(
Avatar billede hrlund Nybegynder
02. september 2002 - 00:35 #8
og endtime kan det ikke være
sEndTime = " & now() & "
når jeg vil have det tidspunkt somer lige nu ?
Avatar billede hrlund Nybegynder
02. september 2002 - 01:01 #9
Har ski selv fundet ud af det hele .. Takker 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