Datediff är funktionen du vill åt.
hur kollar jag skillnaden mellen två Now() variblar, typ:
strOldTid = #2001-07-28 15:13:38#
strtid = Now()
Response.Write Cdate(strTid) - Cdate(strOldTid)
(detta funkar asso inte )
15 svar · 258 visningar · startad av icaaq
hur kollar jag skillnaden mellen två Now() variblar, typ:
strOldTid = #2001-07-28 15:13:38#
strtid = Now()
Response.Write Cdate(strTid) - Cdate(strOldTid)
(detta funkar asso inte )
Datediff är funktionen du vill åt.
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
det jag undrar är alltså hur ska jag sätta interval:
DateDiff([b]interval[/b], date1, date2 [,firstdayofweek[, firstweekofyear]])
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.
Vad har du för Session.LCID?
hmmm....det jag vill är ju alltså att få ut antal timmar, minuter och sekunder.....mellan de två tidsangivna variblarna....
hur skulle ni gjort ??
Vide-->
jag har inte satt nån Session.LCID då jag har en svenskserver
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.
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
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 ??
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)
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
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)
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)
Tack LarsG
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)