[导入]ASP常用函数:FormatDate()

<%
'功能:多功能日期格式化函数
'来源:http://jorkin.reallydo.com/article.asp?id=477

Function FormatDate(sDateTime, sReallyDo)
    
Dim sJorkin
    sJorkin = GetLocale()
    
If Not IsDate(sDateTime) Then sDateTime = Now()
    
sDateTime = CDate(sDateTime)
    
Select Case UCase(sReallyDo & "")
        
Case "0", "1", "2", "3", "4"
            
FormatDate = FormatDateTime(sDateTime, sReallyDo)
        
Case "00"
            
FormatDate = FormatDate(sDateTime, "YYYY-MM-DD hh:mm:ss")
        
Case "01"
            
FormatDate = FormatDate(sDateTime, "YYYY年MM月DD日")
        
Case "02"
            
FormatDate = FormatDate(sDateTime, "YYYY-MM-DD")
        
Case "03"
            
FormatDate = FormatDate(sDateTime, "hh:mm:ss")
        
Case "04"
            
FormatDate = FormatDate(sDateTime, "hh:mm")
        
Case "ISO8601", "GOOGLE", "SITEMAP" '//ISO8601格式, 一般用于GoogleSiteMap, "+08:00" 为时区.
            
FormatDate = FormatDate(sDateTime, "YYYY-MM-DDThh:mm:ss.000+08:00")
        
Case "RFC822", "RSS", "FEED" '//RFC822格式, 一般用于RSS, "+0800" 为时区.
            
SetLocale("en-gb")
            
FormatDate = FormatDate(sDateTime, "ew, DD eMM YYYY hh:mm:ss +0800")
            
SetLocale(sJorkin)
        
Case "RND", "RAND", "RANDOMIZE" '//随机字符串
            
Randomize
            
sJorkin = Rnd()
            
FormatDate = FormatDate(sDateTime, "YYYYMMDDhhmmss") & _
                         Fix((9 * 10^6 -1) * sJorkin) + 10^6
        
Case Else
            
FormatDate = sReallyDo
            FormatDate = Replace(FormatDate, "YYYY", Year(sDateTime))
            
FormatDate = Replace(FormatDate, "DD", Right("0" & Day(sDateTime), 2))
            
FormatDate = Replace(FormatDate, "hh", Right("0" & Hour(sDateTime), 2))
            
FormatDate = Replace(FormatDate, "mm", Right("0" & Minute(sDateTime), 2))
            
FormatDate = Replace(FormatDate, "ss", Right("0" & Second(sDateTime), 2))
            
FormatDate = Replace(FormatDate, "YY", Right(Year(sDateTime), 2))
            
FormatDate = Replace(FormatDate, "D", Day(sDateTime))
            
FormatDate = Replace(FormatDate, "h", Hour(sDateTime))
            
FormatDate = Replace(FormatDate, "m", Minute(sDateTime))
            
FormatDate = Replace(FormatDate, "s", Second(sDateTime))
            
If InStr(1, FormatDate, "EW", 1) > 0 Then
                
SetLocale("en-gb")
                
FormatDate = Replace(FormatDate, "EW", UCase(WeekdayName(Weekday(sDateTime), False)))
                
FormatDate = Replace(FormatDate, "eW", WeekdayName(Weekday(sDateTime), False))
                
FormatDate = Replace(FormatDate, "Ew", UCase(WeekdayName(Weekday(sDateTime), True)))
                
FormatDate = Replace(FormatDate, "ew", WeekdayName(Weekday(sDateTime), True))
                
SetLocale(sJorkin)
            
Else
                
FormatDate = Replace(FormatDate, "W", WeekdayName(Weekday(sDateTime), False))
                
FormatDate = Replace(FormatDate, "w", WeekdayName(Weekday(sDateTime), True))
            
End If
            If
InStr(1, FormatDate, "EMM", 1) > 0 Then
                
SetLocale("en-gb")
                
FormatDate = Replace(FormatDate, "EMM", MonthName(Month(sDateTime), False))
                
FormatDate = Replace(FormatDate, "eMM", MonthName(Month(sDateTime), True))
                
SetLocale(sJorkin)
            
Else
                
FormatDate = Replace(FormatDate, "MM", Right("0" & Month(sDateTime), 2))
                
FormatDate = Replace(FormatDate, "M", Month(sDateTime))
            
End If
    End Select
End Function
%>

<%
'将日期格式化为ISO8601格式
Response.Write(FormatDate("2008-03-06 08:03:06", "SITEMAP"))
'将日期格式化为RFC822格式
Response.Write(FormatDate("2008-03-06 08:03:06", "RSS"))
'将日期格式化为(英星期, 英月/日/年)
Response.Write(FormatDate(Now(), "eW, EMM/DD/YYYY"))
'将生成一个以年月日时分秒随机数的字符串
Response.Write(FormatDate(Now(), "RND"))
%>


文章来源: http://Jorkin.Reallydo.Com/default.asp?id=477

转载于:https://www.cnblogs.com/pboy2925/archive/2008/03/06/1105392.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值