日期:2014-05-17  浏览次数:20807 次

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
%>