ASP函数-日期转换函数
发布时间:2022-01-09 01:39:07 所属栏目:Asp教程 来源:互联网
导读:Function FormatDate(byVal strDate,byVal strFormat) Accepts strDate as a valid date/time, strFormat as the output template. The function finds each item in the template and replaces it with the relevant information extracted from strDate. Yo
Function FormatDate(byVal strDate,byVal strFormat) ' Accepts strDate as a valid date/time, ' strFormat as the output template. ' The function finds each item in the ' template and replaces it with the ' relevant information extracted from strDate. ' You are free to use this code provided the following line remains ' www.adopenstatic.com/resources/code/formatdate.asp ' Template items ' %m Month as a decimal no. 2 ' %M Month as a padded decimal no. 02 ' %B Full month name February ' %b Abbreviated month name Feb ' %d Day of the month eg 23 ' %D Padded day of the month eg 09 ' %O Ordinal of day of month (eg st or rd or nd) ' %j Day of the year 54 ' %Y Year with century 1998 ' %y Year without century 98 ' %w Weekday as integer (0 is Sunday) ' %a Abbreviated day name Fri ' %A Weekday Name Friday ' %H Hour in 24 hour format 24 ' %h Hour in 12 hour format 12 ' %N Minute as an integer 01 ' %n Minute as optional if minute <> 00 ' %S Second as an integer 55 ' %P AM/PM Indicator PM On Error Resume Next Dim intPosItem Dim int12HourPart Dim str24HourPart Dim strMinutePart Dim strSecondPart Dim strAMPM ' Insert Month Numbers strFormat = Replace(strFormat, "%m", DatePart("m", strDate), 1, -1, vbBinaryCompare) ' Insert Padded Month Numbers strFormat = Replace(strFormat, "%M", Right("0" & DatePart("m", strDate), 2), 1, -1, vbBinaryCompare) ' Insert non-Abbreviated Month Names strFormat = Replace(strFormat, "%B", MonthName(DatePart("m", strDate), False), 1, -1, vbBinaryCompare) ' Insert Abbreviated Month Names strFormat = Replace(strFormat, "%b", MonthName(DatePart("m", strDate), True), 1, -1, vbBinaryCompare) ' Insert Day Of Month strFormat = Replace(strFormat, "%d", DatePart("d",strDate), 1, -1, vbBinaryCompare) ' Insert Padded Day Of Month strFormat = Replace(strFormat, "%D", Right ("0" & DatePart("d",strDate), 2), 1, -1, vbBinaryCompare) ' Insert Day of Month Ordinal (eg st, th, or rd) strFormat = Replace(strFormat, "%O", GetDayOrdinal(Day(strDate)), 1, -1, vbBinaryCompare) ' Insert Day of Year strFormat = Replace(strFormat, "%j", DatePart("y",strDate), 1, -1, vbBinaryCompare) ' Insert Long Year (4 digit) strFormat = Replace(strFormat, "%Y", DatePart("yyyy",strDate), 1, -1, vbBinaryCompare) ' Insert Short Year (2 digit) strFormat = Replace(strFormat, "%y", Right(DatePart("yyyy",strDate),2), 1, -1, vbBinaryCompare) ' Insert Weekday as Integer (eg 0 = Sunday) strFormat = Replace(strFormat, "%w", DatePart("w",strDate,1), 1, -1, vbBinaryCompare) ' Insert Abbreviated Weekday Name (eg Sun) strFormat = Replace(strFormat, "%a", WeekDayName(DatePart("w",strDate,1), True), 1, -1, vbBinaryCompare) ' Insert non-Abbreviated Weekday Name strFormat = Replace(strFormat, "%A", WeekDayName(DatePart("w",strDate,1), False), 1, -1, vbBinaryCompare) ' Insert Hour in 24hr format str24HourPart = DatePart("h",strDate) If Len(str24HourPart) < 2 then str24HourPart = "0" & str24HourPart strFormat = Replace(strFormat, "%H", str24HourPart, 1, -1, vbBinaryCompare) ' Insert Hour in 12hr format int12HourPart = DatePart("h",strDate) Mod 12 If int12HourPart = 0 then int12HourPart = 12 strFormat = Replace(strFormat, "%h", int12HourPart, 1, -1, vbBinaryCompare) ' Insert Minutes strMinutePart = DatePart("n",strDate) If Len(strMinutePart) < 2 then strMinutePart = "0" & strMinutePart strFormat = Replace(strFormat, "%N", strMinutePart, 1, -1, vbBinaryCompare) ' Insert Optional Minutes If CInt(strMinutePart) = 0 then strFormat = Replace(strFormat, "%n", "", 1, -1, vbBinaryCompare) Else If CInt(strMinutePart) < 10 then strMinutePart = "0" & strMinutePart strMinutePart = ":" & strMinutePart strFormat = Replace(strFormat, "%n", strMinutePart, 1, -1, vbBinaryCompare) End If ' Insert Seconds strSecondPart = DatePart("s",strDate) If Len(strSecondPart) < 2 then strSecondPart = "0" & strSecondPart strFormat = Replace(strFormat, "%S", strSecondPart, 1, -1, vbBinaryCompare) ' Insert AM/PM indicator If DatePart("h",strDate) >= 12 then strAMPM = "PM" Else strAMPM = "AM" End If strFormat = Replace(strFormat, "%P", strAMPM, 1, -1, vbBinaryCompare) FormatDate = strFormat End Function Function GetDayOrdinal( _ byVal intDay _ ) ' Accepts a day of the month ' as an integer and returns the ' appropriate suffix On Error Resume Next Dim strOrd Select Case intDay Case 1, 21, 31 strOrd = "st" Case 2, 22 strOrd = "nd" Case 3, 23 strOrd = "rd" Case Else strOrd = "th" End Select GetDayOrdinal = strOrd End Function (编辑:湘西站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |