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

所属分类: 网络编程 / ASP编程 阅读数: 1842
收藏 0 赞 0 分享

核心代码

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

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

更多精彩内容其他人还在看

asp 批量删除选中的多条记录的实现代码

如果需要删除记录,一条一条的删比较耗时,所以批量删除记录是个不错的功能,原理就是利用asp数组来实现。
收藏 0 赞 0 分享

ASP 使用Filter函数来检索数组的实现代码

在VBScript中有Filter这个函数可以用来对数组进行过滤,并返回原数组的一个子集数组。
收藏 0 赞 0 分享

ASP JSON类源码分享

ASP JSON类源码分享,需要的朋友可以参考下。
收藏 0 赞 0 分享

ASP JSON类文件的使用方法

前段时间开始学习JSON在ASP中的使用,JSON确实比XML方便。以前在写程序的时候有考虑使用XML来存储数据,但是一直觉得生成文档及文档的调用查询等都很麻烦。
收藏 0 赞 0 分享

Asp中Server.ScriptTimeOut属性需要注意的一点分析

Server.ScriptTimeout 这个属性给定Asp脚本执行的最大时间,如果asp程序的运行时间超过了这个属性规定的值,Asp就会报错。
收藏 0 赞 0 分享

从一个网站扒下的asp生成静态页面的代码 脚本之家特供版

虽然脚本之家以前发布过相关的代码,但一些特别的网站不是很完美,最近帮客户修改系统发现了这段代码,发现还不错,特提取出来,方便大家使用。
收藏 0 赞 0 分享

asp CutStrX字符串截取函数(过滤全部HTML标记)

asp CutStrX字符串截取函数(过滤全部HTML标记),比较不错,需要的朋友可以参考下。
收藏 0 赞 0 分享

ASP Eval、Execute、ExecuteGlobal区别分析

Eval、Execute、ExecuteGlobal 这三个语句(函数)都是执行字符串表达式,不过它们之间又有所不同。
收藏 0 赞 0 分享

使用innerHTML时注意处理空格和回车符(asp后台处理)

innerHTML中如果包含空格和回车都会被认为是段落的结束,造成程序运行出错,解决办法,输出的时候将空格和回车替换掉,方便js调用。
收藏 0 赞 0 分享

ASP网站出现 msxml3.dll 错误  80072ee7 错误的解决方法

这两天接到通知,说公司的一个网站访问不了,经访问发现页面提示如下错误
收藏 0 赞 0 分享
查看更多