2009-12-19 5 views
0

Dans ma page asp, j'écrire un code comme celui-ci pour vérifier la validation de la dateComment vérifier que la date actuelle est supérieure à la date de fin?

<% 
'Session 1 
session.lcid=2057 
Session("CheckIn")= "26/12/2009" 
d=0 
response.write session("CheckIn")&"----"&DateAdd("d",d,Session("CheckIn")) &"<br/>" 

if session("CheckIn")= DateAdd("d",d,Session("CheckIn")) then 
response.write "Session 1 is workings" 
end if 

'Session 2 
a ="26/12/2009" 
b ="26/12/2009" 
if a=b then 
response.write "Session 2 is workings" 
end if 
%> 

Lors de la séance "si" état ne fonctionne pas. Mais si j'écris la date au format de chaîne dans session 2, "IF" condition fonctionne.

Comment je vérifie "SI" condition session 1 dans ma page asp classique

espérant votre réponse,

Répondre

4

Hai Alex,

Utilisez la fonction CDate,

if CDate(a) > Cdate(b) then 

'......... 

end if 
0

Dans votre premier cas, DateAdd("d", d, Session("CheckIn")), la valeur de la session est implicitement convertie à une donnée DateTime type, et ainsi le DateAdd réussit. Cependant, pour comparer ensuite à la variable de session, je soupçonne qu'elle est implicitement convertie en une chaîne utilisant le format par défaut (il est peu probable que ce soit jj/mm/aaaa).

Vous devez vous assurer que les deux valeurs que vous comparez sont du même type. Je vous suggère:

if CDate(session("CheckIn")) = DateAdd("d",d,Session("CheckIn")) then 

pour votre premier chèque

+0

merci loooooooooooooot – Alex

Questions connexes