ASP常用日期格式化函数 FormatDate()
核心代码
<% '功能:多功能日期格式化函数 '来源:http://jorkin.reallydo.com/article.asp?id=477 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")) %>
更多的可以查看下面的相关文章