ASP常用日期格式化函数 FormatDate()
这篇文章主要介绍了ASP常用日期格式化函数 FormatDate(),很多情况下我们需要自定义输出格式需要的朋友可以参考下
核心代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | <% '功能:多功能日期格式化函数 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 %> |
用法如下:
1 2 3 4 5 6 7 8 9 10 | <% '将日期格式化为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" )) %> |
更多的可以查看下面的相关文章