webForumDet fria alternativet

Now()

ASP

15 svar · 237 visningar · startad av icaaq

Medlem sedan okt. 20005 273 inlägg
Frågan#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]

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

:)

------------------
I like ¼ £ whith cheese

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

------------------
I like ¼ £ whith cheese

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.

------------------
essentitia preter non sans multiplicandum

Medlem sedan dec. 19998 577 inlägg
#6

Vad har du för Session.LCID?

------------------
Vide rox = new Vide();
rox.learn("C#");

webeye.nu

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 :)

------------------
I like ¼ £ whith cheese

[Redigerat av icaaq den 29 jul 2001]

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.

------------------
essentitia preter non sans multiplicandum

[Redigerat av LarsG den 29 jul 2001]

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

------------------
I like ¼ £ whith cheese

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

------------------
*** Var går gränsen mellan långa kortbyxor och korta långbyxor? ***

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

------------------
I like ¼ £ whith cheese

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)

------------------
essentitia preter non sans multiplicandum

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

:(

------------------
I like ¼ £ whith cheese

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)

------------------
essentitia preter non sans multiplicandum

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)

------------------
essentitia preter non sans multiplicandum

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)

:)

------------------
I like ¼ £ whith cheese

[Redigerat av icaaq den 29 jul 2001]

263 ms totalt · 4 externa anrop · v20260731065814-full.2f471f9e
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
139 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)