Now()

ASP

15 svar · 258 visningar · startad av icaaq

Medlem sedan okt. 20005 273 inlägg
Trådstart#1

hur kollar jag skillnaden mellen två Now() variblar, typ:

strOldTid = #2001-07-28 15:13:38#
strtid = Now()
Response.Write Cdate(strTid) - Cdate(strOldTid)

:q
(detta funkar asso inte :( )

Medlem sedan dec. 19996 721 inlägg
#2

Datediff är funktionen du vill åt.

Medlem sedan okt. 20005 273 inlägg
#3

Jag har testat denna men jag får inte datumet i rätt format :( .

Hur ska jag göra för att få till datumet så här:

2001-07-28 15:13:38

:)

Medlem sedan okt. 20005 273 inlägg
#4

det jag undrar är alltså hur ska jag sätta interval:

DateDiff([b]interval[/b], date1, date2 [,firstdayofweek[, firstweekofyear]])

:q

Medlem sedan dec. 200012 464 inlägg
#5

Resultatet av datediff blir ju ett interval, ett antal timmar eller dagar till exempel. Jag förstår inte hur du skulle kunna få det till ett datum.

Medlem sedan dec. 19998 577 inlägg
#6

Vad har du för Session.LCID?

Medlem sedan okt. 20005 273 inlägg
#7

hmmm....det jag vill är ju alltså att få ut antal timmar, minuter och sekunder.....mellan de två tidsangivna variblarna....

hur skulle ni gjort ?? :q

Vide-->
jag har inte satt nån Session.LCID då jag har en svenskserver :)

Medlem sedan dec. 200012 464 inlägg
#8

Ta ut antal sekunder och dela med 60 först för att få minuter och sen 60 igen för att få timmar och sen så får man konkatenera ihop delarna.

Red:

För att få överskjutande sekunder så får du använda operatorn mod.

Medlem sedan okt. 20005 273 inlägg
#9

Jag får F*N inte till det .... :(

nån som kan visa ett förslag :OO

Medlem sedan feb. 20012 412 inlägg
#10

Hej!

Hur du får skillnaden gör du som LarsG sade nedan, sedan kan du konvertera det med en funktion, tex denna som någon på forumet bidragit med innan:


'----------------------------------------------------
' * Ange snyggt datum *
' Datum och tid i formatet 0000-00-00 00:00
'----------------------------------------------------

Function SweDateLong(the_Date)
If the_date <> "" Then
yyyy = Year(the_Date)
mm = Month(the_Date)
dd = Day(the_Date)
hh = Hour(the_Date)
ii = Minute(the_Date)
if mm<10 then mm = "0" & mm
if dd<10 then dd = "0" & dd
if hh<10 then hh = "0" & hh
if ii<10 then ii = "0" & ii
SweDateLong = yyyy&"-"&mm&"-"&dd&" "&hh&":"&ii
End If
End Function

mvh Jörgen

Medlem sedan okt. 20005 273 inlägg
#11

jag har kommit så här långt:

strOldTid = #2001-07-29 13:48:38#
strtid = #2001-07-29 14:58:48#
dteDiff = DateDiff("s", strOldTid,strtid)
dteDiffsek = Cint(dteDiff mod 60)
dteDiffmin = Cint(dteDiff / 60)
dteDifftimme = Cint(dteDiffMin / 60)

Sen om jag skriver ut allt 

Response.Write strtid &"<br>"
Response.Write strOldTid &"<br>"
Response.Write dteDiff &"<br>"
Response.Write dteDifftimme&":"&dteDiffmin&":"&dteDiffsek

'Får jag följande

2001-07-29 14:58:48
2001-07-29 13:48:38
4210
1:70:10

som ni ser blir det lite taikon vid minuterna ... :( ska jag lösa detta genom massa If-frågor eller går det att fixa på annat sätt ?? :q

Medlem sedan dec. 200012 464 inlägg
#12

Jag tänkte lite fel där.

strOldTid = #2001-07-29 13:48:38#
strtid = #2001-07-29 14:58:48#
dteDiff = DateDiff("s", strOldTid,strtid)
dteDiffsek = Cint(dteDiff mod 60)
dteDiffmin = Cint(dteDiff / 60) [b]mod 60 [/b]
dteDifftimme = Cint(dteDiffMin / 60)
Medlem sedan okt. 20005 273 inlägg
#13

Hmm... nu fick jag:

dteDiff = DateDiff("s", strOldTid,strtid)
dteDiffsek = Cint(dteDiff mod 60)
dteDiffmin = Cint(dteDiff / 60) mod 60 
dteDifftimme = Cint(dteDiffMin / 60)
Response.Write dteDifftimme&":"&dteDiffmin&":"&dteDiffsek

'Det blev

0:10:10

:(

Medlem sedan dec. 200012 464 inlägg
#14

Slarv av mig.


strOldTid = #2001-07-29 13:48:38#
strtid = #2001-07-29 14:58:48#
dteDiff = DateDiff("s", strOldTid,strtid)
dteDiffsek = Cint(dteDiff mod 60)
dteDiffmin = Cint(dteDiff / 60) mod 60 
dteDifftimme = Cint(dteDiff / 3600)
Medlem sedan dec. 200012 464 inlägg
#15

En sak till, cint rundar resultatet, så det är bättre att använda fix som trunkerar

strOldTid = #2001-07-29 13:48:38#
strtid = #2001-07-29 14:58:48#
dteDiff = DateDiff("s", strOldTid,strtid)
dteDiffsek = Fix(dteDiff mod 60)
dteDiffmin = Fix(dteDiff / 60) mod 60 
dteDifftimme = Fix(dteDiff / 3600)
Medlem sedan okt. 20005 273 inlägg
#16

Tack LarsG :e

Jag löste det på detta vis:

tmeLogOn = #2001-07-29 21:49:53#

Function tmeLoggad(tmeLogOn)
tmeLogOff = Now()
tmeDiff = DateDiff("s", tmeLogOn,tmeLogOff)
tmeDiffsek = Fix(tmeDiff mod 60)
tmeDiffmin = Fix(tmeDiff / 60) mod 60 
tmeDifftimme = Fix(tmeDiff / 3600)
If tmeDiffsek < 10 Then tmeDiffsek = "0"&tmeDiffsek
If tmeDiffmin < 10 Then tmeDiffmin = "0"&tmeDiffmin
If tmeDifftimme < 10 Then tmeDifftimme = "0"&tmeDifftimme
tmeLoggad = tmeDifftimme&":"&tmeDiffmin&":"&tmeDiffsek
End Function

Response.Write tmeLoggad(tmeLogOn)

:)

247 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)