您好,我正在尝试在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>
答案 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)