【ASP】常用日期格式化函数

简介:

核心代码

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


?

相关文章
|
开发框架 前端开发 .NET
ASP.NET Core端点路由中三种让人困惑的路由函数
早先提及了端点路由app.UseEndpoints, 端点路由强调的是端点和路由,其核心目的是将请求落地点与路由寻址方式解耦。
|
开发框架 前端开发 .NET
ASP.NET Core中三个egg疼的路由函数
ASP.NET Core中三个egg疼的路由函数
195 0
|
缓存 JavaScript 前端开发
【nodejs】让nodejs像后端mvc框架(asp.net mvc)一样处理请求--控制器和处理函数的注册篇(4/8)【controller+action】
文章目录 前情概要 前边的文章把一些基本的前置任务都完成了。接下就是比较重要的处理函数action是如何自动发现和注册的拉,也就是入口函数RouteHandler(也是我们的第一个express中间件)里面的一些细节。
962 0
下一篇
无影云桌面