Классический ASP Проверьте, прошла ли 1 минута, если это так триггерная команда - PullRequest
0 голосов
/ 10 мая 2018

Я пытаюсь проверить текущее время и время базы данных и отобразить сообщение.
Это моя вторая попытка, но она не работает правильно, как вы можете видеть ниже, я делаю что-то не так.Пожалуйста, помогите.

Спасибо.

   <%
    Function ConvertToUnixTimeStamp(input_datetime) 'As String
        Dim d : d = CDate(input_datetime)
        ConvertToUnixTimeStamp = CStr(DateDiff("s", "01/01/2018 00:00:00", d))
    End Function


    'Response.write ("<BR><BR>Current Time Now: ") & ConvertToUnixTimeStamp(Now)


    time_from_db = 11293015 + 60 'This would be the time from the database. It is generated using ConvertToUnixTimeStamp(Now) + 60

    Response.write "Current Time: " & ConvertToUnixTimeStamp(Now) & "<BR><BR>"
    Response.write "Time from DB: " & time_from_db & "<BR><BR>"
    Response.write "<BR><BR>"
    Response.write "Update DB with this time (Added 1 minute): " & ConvertToUnixTimeStamp(Now) + 60 & "<BR><BR>"


    If ConvertToUnixTimeStamp(Now) > time_from_db then 
        Response.write("<BR>Current Time is Greaten then DB")
    else
        Response.write("<BR>DB Time is Newer then Current Time")
    end if

    %>

1 Ответ

0 голосов
/ 14 мая 2018
If ConvertToUnixTimeStamp(Now) > time_from_db then 

это никогда не вернет true, поскольку ваша функция преобразует время в STRING, и строка не может быть больше, чем другая строка.

Я внес небольшие изменения в ваш код, в основном явно преобразовав переменные в их тип данных (например: CInt, CStr и т. Д.).

<%
    Function ConvertToUnixTimeStamp(input_datetime) 'As String
        Dim d : d = CDate(input_datetime)
        ConvertToUnixTimeStamp = DateDiff("s", "01/01/2018 00:00:00", d)
    End Function


    'Response.write ("<BR><BR>Current Time Now: ") & ConvertToUnixTimeStamp(Now)


    time_from_db = 11293015 + 60 'This would be the time from the database. It is generated using ConvertToUnixTimeStamp(Now) + 60

    Response.write "Current Time: " & ConvertToUnixTimeStamp(Now) & "<BR><BR>"
    Response.write "Time from DB: " & time_from_db & "<BR><BR>"
    Response.write "<BR><BR>"
    Response.write "Update DB with this time (Added 1 minute): " & ConvertToUnixTimeStamp(Now) + 60 & "<BR><BR>"


    If CInt( ConvertToUnixTimeStamp(Now) ) > time_from_db then 
        Response.write("<BR>Current Time is Greaten then DB")
    else
        Response.write("<BR>DB Time is Newer then Current Time")
    end if

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