当前位置 博文首页 > ASP常用日期格式化函数 FormatDate()

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

    作者:admin 时间:2021-08-27 18:58

    核心代码

    <%
    '功能:多功能日期格式化函数
    '来源: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"))
    %>

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

    jsjbwy
    下一篇:没有了