首页 > 编程 > ASP > 正文

ASP常用日期格式化函数 FormatDate()

2024-05-04 11:10:16
字体:
来源:转载
供稿:网友

核心代码

<%'功能:多功能日期格式化函数'来源:http://jorkin.reallydo.com/article.asp?id=477Function 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 SelectEnd 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"))%>

更多的可以查看下面的相关文章


注:相关教程知识阅读请移步到ASP教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表