I icaaq Medlem sedan okt. 2000 5 273 inlägg Frågan 28 juli 2001 19:18 #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 :( )
------------------
I like ¼ £ whith cheese
[Redigerat av icaaq den 28 jul 2001]
E emission Medlem sedan dec. 1999 6 721 inlägg Datediff är funktionen du vill åt.
I icaaq Medlem sedan okt. 2000 5 273 inlägg 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
:)
------------------
I like ¼ £ whith cheese
I icaaq Medlem sedan okt. 2000 5 273 inlägg det jag undrar är alltså hur ska jag sätta interval:
DateDiff([b]interval[/b], date1, date2 [,firstdayofweek[, firstweekofyear]])
:q
------------------
I like ¼ £ whith cheese
L LarsG Medlem sedan dec. 2000 12 464 inlägg 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.
------------------
essentitia preter non sans multiplicandum
Vide Medlem sedan dec. 1999 8 577 inlägg Vad har du för Session.LCID?
------------------
Vide rox = new Vide();
rox.learn("C#");
webeye.nu
I icaaq Medlem sedan okt. 2000 5 273 inlägg 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 :)
------------------
I like ¼ £ whith cheese
[Redigerat av icaaq den 29 jul 2001]
L LarsG Medlem sedan dec. 2000 12 464 inlägg 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.
------------------
essentitia preter non sans multiplicandum
[Redigerat av LarsG den 29 jul 2001]
I icaaq Medlem sedan okt. 2000 5 273 inlägg Jag får F*N inte till det .... :(
nån som kan visa ett förslag :OO
------------------
I like ¼ £ whith cheese
J jorgen Medlem sedan feb. 2001 2 412 inlägg 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
------------------
*** Var går gränsen mellan långa kortbyxor och korta långbyxor? ***
I icaaq Medlem sedan okt. 2000 5 273 inlägg 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
------------------
I like ¼ £ whith cheese
L LarsG Medlem sedan dec. 2000 12 464 inlägg 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)
------------------
essentitia preter non sans multiplicandum
I icaaq Medlem sedan okt. 2000 5 273 inlägg 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
:(
------------------
I like ¼ £ whith cheese
L LarsG Medlem sedan dec. 2000 12 464 inlägg 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)
------------------
essentitia preter non sans multiplicandum
L LarsG Medlem sedan dec. 2000 12 464 inlägg 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)
------------------
essentitia preter non sans multiplicandum
I icaaq Medlem sedan okt. 2000 5 273 inlägg 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)
:)
------------------
I like ¼ £ whith cheese
[Redigerat av icaaq den 29 jul 2001]