这是我的疑问。
strSQL = "Select task,to_char(ddat,'dd/mm/yyyy') as ddat from task where guid = '"&lvGuid&"'"
'Response.write strSQL
objRS.Open strSQL, objConn
If objRS.RecordCount > 0 Then
strTask = objRS("task")
strDate = objRS("ddat")
Else
strTask = ""
strDate = ""
End If
这是表示如果人们在截止日期之后完成任务以询问原因我想要显示文本区域的表格。但问题是if else statement
无法运行。当该人超过截止日期时,该程序不会显示textarea
。
<form name="form1" method="post" action="taskconfirm.asp" >
<h2>Ticket : <input type="text" name="txtTask" value="<%=strTask%>" style="height:35px; font-size: 18pt; border:none;" readonly> </h2>
<p>Today's Date: <%=Date()%></p>
<p>Due Date: <%=strDate%></p>
<p>By reaching to this link, you have completed the ticket above. Please click the button below to confirm</p>
<br>
<!-- ASP IF ELSE CONDITION HERE DATE - OVERDUE -->
<%If Date() > strDate then %>
<%response.write("Please give a reason for ticket overdue :")%><br/>
<textarea type="text" name="txtreas" rows="4" cols="40" id="txtareaId"></textarea>
<%end if%>
<input type="submit" name="txtConfirm" value="Confirm" ">
</form>
我很感激任何想要帮助的人。非常感谢。
答案 0 :(得分:2)
如果年份到来,VBScript会将日期文字解释为mm/dd/yyyy
。您的SQL语句将日期格式化为dd/mm/yyyy
,因此它将被错误地解释(月份和日期将被交换)。
例如,今天是August 12, 2015
。您的SQL语句正在返回:
12/08/2015
但是VBScript将此日期视为December 8, 2015
。
如果您将日期返回为:
2015/08/12
然后VBScript不会感到困惑,因为月份总是在年份之后,首先是年份(yyyy/mm/dd
)。