Classic ASP 检查是否过了 1 分钟,如果是则触发命令
Classic ASP Check if 1 minute has passed if so trigger command
我正在尝试检查当前时间与数据库时间并显示一条消息。
这是我的第二次尝试,但它没有正常工作,正如您在下面看到的,我做错了什么。请帮忙
谢谢。
<%
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
%>
If ConvertToUnixTimeStamp(Now) > time_from_db then
这永远不会 return 正确,因为您的函数正在将时间转换为字符串,并且一个字符串不能大于另一个字符串。
我对您的代码做了一些小改动,主要是将变量显式转换为其数据类型(例如: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
%>
我正在尝试检查当前时间与数据库时间并显示一条消息。
这是我的第二次尝试,但它没有正常工作,正如您在下面看到的,我做错了什么。请帮忙
谢谢。
<%
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
%>
If ConvertToUnixTimeStamp(Now) > time_from_db then
这永远不会 return 正确,因为您的函数正在将时间转换为字符串,并且一个字符串不能大于另一个字符串。
我对您的代码做了一些小改动,主要是将变量显式转换为其数据类型(例如: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
%>