News Contents
信息中心

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

发表日期:2017/7/1      浏览次数:

核心代码

?

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"))

%>

盛大建站承接个人、公司、企业的网站建设、网页设计、网店制作、独立商城制作、外贸网站制作,也承接同行介绍的业务,欢迎联系!
本站承接主要业务如下:
1、提供免备案虚拟主机(网站空间),有独立国内服务器、高速美国服务器、香港服务器、韩国服务器、日本服务器,>> http://www.fuanxx.com
2、网站建设:个人网店制作、企业建站、公司网站、新闻、下载等;论坛、博客网站搭建,承接外贸英文站制作
3、承接阿里巴巴、京东、淘宝、天猫等的商品数据采集
4、网站防钓鱼,可以过360、QQ、搜狗、金山、微信拦截
5、要就发IP网站限制访问系统,防止同行抄袭并保障海外客户访问不受影响,>> http://www.198ip.com
  下一篇:H5动画
十年如一日,我们专注于提供高品质 定制网站建设服务!
您的信任,我们的责任,期待与您的合作!