Как проверить, что текущая дата больше даты окончания? - PullRequest
0 голосов
/ 19 декабря 2009

На своей странице asp я пишу такой код для проверки правильности даты

<%
'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
%>

В сеансе 1 условие «если» не работает. Но если я пишу дату в строковом формате в сеанс 2 , условие «ЕСЛИ» работает.

Как проверить условие «ЕСЛИ» в Сессия 1 на моей классической странице asp

в надежде на ваш ответ,

Ответы [ 2 ]

4 голосов
/ 19 декабря 2009

Хай Алекс,

Использовать функцию CDate,

if CDate(a) > Cdate(b) then

 '.........

end if
0 голосов
/ 19 декабря 2009

В первом случае, DateAdd("d", d, Session("CheckIn")), значение сеанса неявно преобразуется в тип данных DateTime, поэтому DateAdd завершается успешно. Однако, чтобы затем сравнить с переменной сеанса, я подозреваю, что она неявно преобразуется в строку, используя любой формат по умолчанию (вряд ли это будет дд / мм / гггг).

Вам необходимо убедиться, что сравниваемые два значения относятся к одному типу. Я бы предложил:

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

за первый чек

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...