asp 时间格式转换...急...在线等
获取数据库日期格式是固定的如:2012-1-1  我想把月、日时间前面补0 如:2012-01-01 这样的效果,该如何实现...请大侠帮帮忙!
------解决方案--------------------自己写个函数吧,判断下月份,当小于10前面加个0,日期也一样。
------解决方案--------------------给你一个格式化时间的参数,存起来,以后用起来也方面,你也可以根据自己的需要部分修改
<%
' ============================================  
' 格式化时间(显示)  
' 参数:n_Flag  
' 1:"yyyy年mm月dd日 hh:mm:ss"  
' 2:"yyyy-mm-dd"  
' 3:"hh:mm:ss"  
' 4:"yyyy年mm月dd日"  
' 5:"yyyymmdd"  
' ============================================  
Function Format_Time(s_Time, n_Flag)  
Dim y, m, d, h, mi, s  
Format_Time = ""  
If IsDate(s_Time) = False Then Exit Function  
y = cstr(year(s_Time))  
m = cstr(month(s_Time))  
If len(m) = 1 Then m = "0" & m  
d = cstr(day(s_Time))  
If len(d) = 1 Then d = "0" & d  
h = cstr(hour(s_Time))  
If len(h) = 1 Then h = "0" & h  
mi = cstr(minute(s_Time))  
If len(mi) = 1 Then mi = "0" & mi  
s = cstr(second(s_Time))  
If len(s) = 1 Then s = "0" & s  
Select Case n_Flag  
Case 1  
Format_Time = y & "年" & m & "月" & d & "日" & h & ":" & mi & ":" & s  
Case 2  
Format_Time = y & "-" & m & "-" & d  
Case 3  
Format_Time = h & ":" & mi & ":" & s  
Case 4  
Format_Time = y & "年" & m & "月" & d & "日"  
Case 5  
Format_Time = y & m & d  
End Select  
End Function
%>
你可以将以上代码复制到需要的网页中,也可以单独建立一个页面,然后include,都可以,
如果用在多个页面,include 比较方便一些。
下面告诉你如何调用。
' 格式化时间(显示)  
' 参数:n_Flag  
' 1:"yyyy年mm月dd日 hh:mm:ss"  
' 2:"yyyy-mm-dd"  
' 3:"hh:mm:ss"  
' 4:"yyyy年mm月dd日"  
' 5:"yyyymmdd"  
上面这些是参数
你需要的要求是第二个,只显示年月日,并且当月或者日 小月10的时候,有前导0补位。
那么
<%=Format_Time(now(),2)%>  
你需要什么样的格式,把后面的数字,对应的修改就可以了。
如果要格式化数据库调用的时间格式,只要把now()替换为rs('时间字段')就OK了。。希望对你有帮助!!
------解决方案--------------------VBScript code
<%
Response.Write fmtDate("2012-1-1")
Function fmtDate(sDate)
    Dim dt
    If IsDate(sDate) Then
        dt = CDate(sDate)
        fmtDate = Year(dt) & "-" & Right("0" & Month(dt), 2) & "-" & Right("0" & Day(dt), 2)
    Else
        fmtDate = ""
    End If
End Function
%>