ASP格式化日期

时间:2012-05-14 08:54:35

标签: asp-classic

您好,我正在尝试在ASP中获取日期以特定格式显示(yyyymmdd)。这是我到目前为止所尝试的但没有运气。任何帮助表示赞赏。感谢

<tr>
    <td><b>Call Date</b></td>
    <% for i = -6 to 0 %>
        <td align=center>
            <a href="20a.asp?cldate=<% response.write(DateTime.Date()+i.ToString("yyyyMMdd")) %>" target="_blank">X</a>
        </td>
    <% Next %>
</tr>

6 个答案:

答案 0 :(得分:7)

您可以使用以下功能:

Year(Now) '' Year in 4 digits
Month(Now) '' Month without leading zero
Day(Now) '' Day of the month without leading zero

DateAdd("d", <numofdays>, Now) '' add a number of days to your date

详细了解这些(和其他日期函数)函数here

如果您需要添加前导零:

function addLeadingZero(value)
    addLeadingZero = value
    if value < 10 then
        addLeadingZero = "0" & value
    end if
end function

您的案例的一个例子是:

Dim today, myDate

today = Now

for i = -6 to 0
    myDate = DateAdd("d", i, today)

    response.write "<a href=""20a.asp?cldate=" & Year(myDate) & addLeadingZero(Month(myDate)) & addLeadingZero(Day(myDate)) & """ target=""_blank"">X</a>"
next

答案 1 :(得分:7)

很抱歉要深入了解这一点,但它可能会对某些人有所帮助。而不是“If&lt; 10然后添加前导零”逻辑,我经常使用正确的命令并始终添加前导零...

response.write "<a href=""20a.asp?cldate=" & Year(myDate) & Right("0" & Month(myDate), 2) & right("0" & Day(myDate), 2) & """ target=""_blank"">X</a>"

..这样,您不需要单独的功能,可以在一行上完成。我不能说它的效率,但似乎合乎逻辑。

答案 2 :(得分:3)

ASP从操作系统获取日期而不是从数据库中获取日期,这是一个常见错误,但它可以通过使用来解决:

<%
' Date dd/mm/yyyy
Session.lcid=2057 '= UK English
%>

我希望它可以帮助别人。

答案 3 :(得分:3)

你可以试试。 100%测试!

   <% 
     mm = Month(now())
     dd = Day(now())
     yy = Year(now())
     IF len(mm) = 1 THEN
       mm = "0" & mm
     END IF
     IF len(dd) = 1 THEN
       dd = "0" & dd
     END IF
     response.write(yy & "/" & mm & "/" & dd) 
  %>

答案 4 :(得分:1)

 <%= DatePart("yyyy", Now) & "/" & DatePart("m", Now) & "/" & DatePart("d", Now) %>

另请参阅

http://www.w3schools.com/vbscript/vbscript_ref_functions.asp

http://www.mikesdotnetting.com/Article/22/Date-formatting-in-VBScript

由于

迪普

答案 5 :(得分:1)

Mid(date(), 7,4) & "-" & Mid(date(), 4,2) & "-" & Left(date(), 2)