webForumDet fria alternativet

Datediff

ASP

5 svar · 2 012 visningar · startad av Tottemannen

Medlem sedan sep. 200620 inlägg
Frågan#1

Hej!

Hej!

Jag laddar upp data till en hemsida varje minut. Om uppladdningen är 15 minuter eller äldre, vill jag skicka vidare till en annan sida.

Ex. senaste uppdateringen är gjord 15:32 och nuvarande tid är 16:02, så ska jag skicka vidare till fel.asp. Är senaste uppdateringen gjord 15:32 och nuvarande tid är 15:35, så ska jag skicka vidare till index.asp.

<%

  Dim ttMin, ttTid, ttid1, ttid2
  ttMin = Cint((DateDiff("n", "0:00", FormatDateTime(Now,4)) - DateDiff("n", "0:00", "18:12"))) 
  ttTid = ((ttMin- (ttMin MOD 60))/60) & ":" & Right("0" & (ttMin MOD 60),2)
  
  If ttTid <= "00:15"  Then
  Response.Redirect "index.asp"

  Else
  Response.Redirect "fel.asp"  

  End If

  %>

Jag provade att sätta <% Response.Buffer=true %>, men då skickas man vidare till "fel.asp" på en gång.

Nån som vet vad det är för fel?

Medlem sedan juni 20006 022 inlägg
#2

Jag förstår inte riktigt varför du vill göra om det till "00:15", borde ju bli fel då eftersom det tolkas som text och inte tid. Använd DateDiff direkt istället.

<%
vTid1 = #2011-08-23 21:30#
vTid2 = now()

IF DateDiff("n", vTid1, vTid2) < 15 THEN
	Response.Redirect "index.asp"
ELSE
	Response.Redirect "fel.asp"
END IF
%>
Medlem sedan sep. 200620 inlägg
#3

Jag gör om en .htx fil till en .asp fil, så klockslaget (18:12 i koden nedan) är inte typ time(), now(), utan bara "tecken".

ttMin = Cint((DateDiff("n", "0:00", FormatDateTime(Now,4)) - DateDiff("n", "0:00", "18:12")))
Medlem sedan juni 20006 022 inlägg
#4

Hur läser du in klockslaget då?

Kan du inte bara kolla om ttMin är mindre än 15?

<%
DIM ttMin
ttMin = Cint((DateDiff("n", "0:00", FormatDateTime(Now,4)) - DateDiff("n", "0:00", "12:00")))

IF ttMin <= 15  THEN
Response.Redirect "index.asp"
ELSE
Response.Redirect "fel.asp"
END IF
%>
Medlem sedan sep. 200620 inlägg
#5

Tack!
Nu fungerar koden.

Medlem sedan dec. 2009872 inlägg
#6

Jag kanske har missat något här, men jag tycker fortfarande det är mycket kod för en så pass enkel manöver.

Otestad, så med reservation att jag vänt siffrorna åt rätt håll:
***

IF dateDiff("n", session("LastUpdated"), now()) <= 15 THEN
.. Response.Redirect "index.asp"
ELSE
.. Response.Redirect "fel.asp"
END IF

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