VBscipt日期格式

时间:2015-08-12 03:14:00

标签: html oracle vbscript asp-classic

这是我的疑问。

 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>

我很感激任何想要帮助的人。非常感谢。

1 个答案:

答案 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)。