在ASP中缩写一年

时间:2013-04-19 18:41:35

标签: asp-classic vbscript

我正在处理日历应用程序,我想显示日期,例如:mm/dd/yy。这是因为在移动设备上,我的某些日期在mm/dd/yyyy时被识别为电话号码。我找不到一个VBScript函数来完成这个,所以我尝试使用以下代码:

listyear = Year(strlistdate)
listyearabbr = Right(listyear, 2)
strlistdate = Replace(strlistdate, listyear, listyearabbr)

其中strlistdate是从数据库返回的初始日期。然后,我使用Response.write("<td>" &FormatDateTime(strlistdate,2)&"</td>")

显示日期

这不起作用,我想知道是否有人可以给我一些关于如何实现这一点的指示。

由于

2 个答案:

答案 0 :(得分:1)

我认为这不是一个好方法,因为你最终会为所有语言环境返回相同的日期格式,但你可以这样做:

response.write(Month(strlistdate) & "/" & Day(strlistdate) & "/" & Right(Year(strlistdate),2))

无论何时使用FormatDateTime,它都会根据存储在服务器上的定义创建一年。如果服务器可以设置为mm / dd / yy,那么您可以在不执行上述任何操作的情况下获得所需的输出。

另外,请查看格式功能。你应该能够做到这一点: response.write(格式(strlistdate,“m / dd / y”)

答案 1 :(得分:0)

你可以尝试这个想法。多年来我没有使用日期格式。相反,我像这样构建日期字段......

strDay = Day(Date)
strMonth = Month(Date)
strYear = Year(Date)
strHours = Hour(Now)
strMins = Minute(Now)
strSecs = Second(Now())
    if len(strMonth) = 1 then
        strMonth = "0" & strMonth
    end if
    if len(strDay) = 1 then
        strDay = "0" & strDay
    end if
    if len(strHours) = 1 then
        strHours = "0" & strHours
    end if
    if len(strMins) = 1 then
        strMins = "0" & strMins
    end if
    if len(strSecs) = 1 then
        strSecs = "0" & strSecs
    end if

strDateAdded = strYear & "-" & strMonth & "-" & strDay
strDateAddedTime = strDateAdded & " " & strHours & ":" & strMins

使用此方法您可以完全控制订单,甚至在不同时区运行您的Web应用程序时,您仍然可以维护DD / MM格式......或者您想要的任何订单,例如MM-DD-YY(通过重新排序)并削减一年)。我个人更喜欢YYYY-MM-DD,因为通过ASC和DESC排序更容易使用,即:更容易阅读,因为所有行都具有相同数量的字符,如:

2013-04-01 03:15
2013-04-09 10:15
2013-04-22 07:15
2013-04-23 10:15
2013-04-23 10:60
2013-10-25 12:01
2013-10-25 12:59

而不是:

2013-4-1 3:15
2013-4-9 10:15
2013-4-22 7:15
2013-4-23 10:15
2013-4-23 10:60
2013-10-25 12:1
2013-1-25 12:59