<%
'功能:多功能日期格式化函数
FunctionFormatDate(sDateTime,sReallyDo)
DimsJorkin
sJorkin=GetLocale()
IfNotIsDate(sDateTime)ThensDateTime=Now()
sDateTime=CDate(sDateTime)
SelectCaseUCase(sReallyDo&"")
Case"0","1","2","3","4"
FormatDate=FormatDateTime(sDateTime,sReallyDo)
Case"00"
FormatDate=FormatDate(sDateTime,"YYYY-MM-DDhh: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,DDeMMYYYYhh:mm:ss+0800")
SetLocale(sJorkin)
Case"RND","RAND","RANDOMIZE"'//随机字符串
Randomize
sJorkin=Rnd()
FormatDate=FormatDate(sDateTime,"YYYYMMDDhhmmss")&_
Fix((9*10^6-1)*sJorkin)+10^6
CaseElse
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))
IfInStr(1,FormatDate,"EW",1)>0Then
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))
EndIf
IfInStr(1,FormatDate,"EMM",1)>0Then
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))
EndIf
EndSelect
EndFunction
%>
用法如下:
<%
'将日期格式化为ISO8601格式
Response.Write(FormatDate("2008-03-0608:03:06","SITEMAP"))
'将日期格式化为RFC822格式
Response.Write(FormatDate("2008-03-0608:03:06","RSS"))
'将日期格式化为(英星期,英月/日/年)
Response.Write(FormatDate(Now(),"eW,EMM/DD/YYYY"))
'将生成一个以年月日时分秒随机数的字符串
Response.Write(FormatDate(Now(),"RND"))
%>
|