ASP常用日期格式化函数 FormatDate()
核心代码
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
<%
'功能:多功能日期格式化函数
'来源: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
%>
|
用法如下:
?
1
2
3
4
5
6
7
8
9
10
|
<%
'将日期格式化为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" ))
%>
|
jsp复习资料汇总
[JSP]2017年1月24日asp教程编程辅导汇总
[ASP]2016年12月2日JSP快速入门教程汇总
[JSP]2016年12月2日jsp基本用法和命令汇总
[JSP]2016年10月3日ASP编码教程:如何实现/使用缓存
[ASP]2015年4月15日