[匯入]ASP常用函數:FormatDate()

來源:互聯網
上載者:User

<%
'功能:多功能日期格式化函數
'來源: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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.