加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > Asp教程 > 正文

我们详细解读最新的ASP数据库版本

发布时间:2023-07-25 13:59:45 所属栏目:Asp教程 来源:
导读:一个转化时间的函数。kingcms中的时间处理也是很强大的,有时间可以看看。

PHP中的date()函数功能实在是太强大了,忍不住用ASP模仿写了个.... 但只是写到日,还没写小时,分,秒的..

所以这个函数还没能格式
一个转化时间的函数。kingcms中的时间处理也是很强大的,有时间可以看看。
 
PHP中的date()函数功能实在是太强大了,忍不住用ASP模仿写了个.... 但只是写到日,还没写小时,分,秒的..
 
所以这个函数还没能格式化小时,分,秒的,有时间以后再加上。
 
<%
 
'******************************
 
'名称:时间处理函数
 
'函数:FormatDate(Str,DateTime)
 
'参数:Str 字符串,DateTime 时间
 
'作者:西楼冷月
 
'日期:2006/1/24
 
'网址:www.xilou.net | www.chinaCMS.org
 
'描述:返回类型为字符串,不是时间类型,错误返回False
 
'******************************
 
Function FormatDate(Str,DateTime)
 
FormatDate=False
 
If IsDate(DateTime)=False Then
 
FormatDate=False
 
Exit Function
 
End If
 
'//年,月,周,日,小时,分钟,秒
 
Dim Y,M,W,D,H,Min,S
 
'//数字和中文的转换
 
Dim numTOcn,cnStr
 
cnStr="零|一|二|三|四|五|六|七|八|九|十|十一|十二|十三|十四|十五|十六|十七|十八|十九|二十|"
 
cnStr=cnStr&"二十一|二十二|二十三|二十四|二十五|二十六|二十七|二十八|二十九|三十|三十一|"
 
cnStr=cnStr&"三十二|三十三|三十四|三十五|三十六|三十七|三十八|三十九|四十|四十一|四十二|"
 
cnStr=cnStr&"四十三|四十四|四十五|四十六|四十七|四十八|四十九|五十|五十一|五十二|五十三|"
 
cnStr=cnStr&"五十四|五十五|五十六|五十七|五十八|五十九|六十"
 
numTOcn=Split(cnStr,"|")
 
'//数字和英文的转换
 
Dim numTOen,enStr
 
enStr="January|February|March|April|May|June|July|August|September|October|November|December|"
 
enStr=enStr&"Sunday|Monday|Tuesday|Wednesday|Thursday|Friday|Saturday"
 
numTOen=Split(enStr,"|")
 
'-----------------------------
 
'年的处理,时间DateTime必须包含年份
 
'标签:3个 {Ya}:2006 {Yb}:06 {Yc}:二零零六
 
Y=Year(DateTime)'取得年份
 
If InStr(Str,"{Ya}")>0 Then Str=Replace(Str,"{Ya}",Y)'2006
 
If InStr(Str,"{Yb}")>0 Then Str=Replace(Str,"{Yb}",Right(Y,2))'06
 
If InStr(Str,"{Yc}")>0 Then
 
Dim YY'数字和中文的转换
 
YY=Y
 
For I=0 To 9
 
YY=Replace(YY,I,numTocn(I))
 
Next
 
Str=Replace(Str,"{Yc}",YY)'二零零六
 
End If
 
'-----------------------------
 
'月的处理,时间DateTime必须包含年份月份
 
'标签:5个 {Ma}:1 {Mb}:01 {Mc}:一 {Md}:January {Me}:Jan
 
M=Month(DateTime)'取得月份
 
Dim MM
 
If InStr(Str,"{Ma}")>0 Then Str=Replace(Str,"{Ma}",M)'1
 
If InStr(Str,"{Mb}")>0 Then
 
If M<10 Then MM=0&M
 
Str=Replace(Str,"{Mb}",MM)'01
 
End If
 
'//中文 一月
 
If InStr(Str,"{Mc}")>0 Then
 
MM=M
 
For I=1 To 12
 
If MM=I Then MM=numTocn(I):Exit For
 
Next
 
Str=Replace(Str,"{Mc}",MM)'一
 
End If
 
'//英文 January
 
If InStr(Str,"{Md}")>0 Then
 
MM=M
 
For I=1 To 12
 
If MM=I Then MM=numTOen(I-1):Exit For
 
Next
 
Str=Replace(Str,"{Md}",MM)
 
End If
 
'//英文缩写Jan
 
If InStr(Str,"{Me}")>0 Then Str=Replace(Str,"{Me}",Left(MM,3))
 
'-------------------------------
 
'日的处理,时间DateTime必须包含年份月份日
 
'标签:4个 {Da}:1 {Db}:01 {Dc}:一 {Dd}:1st
 
D=Day(DateTime)'取得日
 
Dim DD
 
'//数字 1
 
If InStr(Str,"{Da}")>0 Then Str=Replace(Str,"{Da}",D)
 
'//数字 01
 
If InStr(Str,"{Db}")>0 Then
 
DD=D
 
If DD<10 Then DD=0&DD
 
Str=Replace(Str,"{Db}",DD)
 
End If
 
'//中文 一
 
If InStr(Str,"{Dc}")>0 Then
 
DD=D
 
For I=1 To 31
 
If DD=I Then DD=numTOcn(I):Exit For
 
Next
 
Str=Replace(Str,"{Dc}",DD)
 
End If
 
'//英文 24th
 
If InStr(Str,"{Dd}")>0 Then
 
DD=D
 
Select Case DD
 
Case 1, 21, 31
 
DD = DD&"st"
 
Case 2, 22
 
DD = DD&"nd"
 
Case 3, 23
 
DD = DD&"rd"
 
Case Else
 
DD = DD&"th"
 
End Select
 
Str=Replace(Str,"{Dd}",DD)
 
End If
 
'-------------------------------
 
'星期的处理,时间DateTime必须包含年份月份日
 
'标签:4个 {Wa}:1 {Wb}:Friday {Wc}:一 {Wd}:Tue
 
W=WeekDay(DateTime)
 
Dim WW
 
'//数字 5
 
If InStr(Str,"{Wa}")>0 Then Str=Replace(Str,"{Wa}",W)
 
'//英文 Friday
 
If InStr(Str,"{Wb}")>0 Then
 
For I=1 To 7
 
If W=I Then Str=Replace(Str,"{Wb}",numTOen(I+11)):Exit For
 
Next
 
End If
 
'//中文 五
 
If InStr(Str,"{Wc}")>0 Then
 
WW=W
 
If WW=1 Then
 
Str=Replace(Str,"{Wc}","日")
 
Else
 
For I=2 To 7
 
If WW=I Then Str=Replace(Str,"{Wc}",numTOcn(I-1)):Exit For
 
Next
 
End If
 
End If
 
'//英文缩写 Tue
 
If InStr(Str,"{Wd}")>0 Then
 
For I=1 To 7
 
If W=I Then Str=Replace(Str,"{Wd}",Left(numTOen(I+11),3)):Exit For
 
Next
 
End If
 
'-------------------------------
 
'小时的处理,时间DateTime必须包含小时
 
'标签:
 
H=Hour(DateTime)
 
Dim HH
 
FormatDate=Str
 
End Function
 
%>
 
<%
 
'例子
 
'Sub Br()
 
'Response.Write "<br/>"&VBCrlf
 
'End Sub
 
'Sub Out(Str)
 
'Response.Write Str&VBCrlf
 
'Br
 
'End Sub
 
'----------Test
 
'Dim S,T
 
'S="今年是{Yc}年{Yb}年{Ya}年{Ma}月{Mb}月{Mc}月{Md} {Me} {Da}日{Db}日{Dc}日 The {Dd}周{Wb}|{Wd}星期{Wc}"
 
'T=Now()
 
'Out FormatDate(S,T)
 
%>
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章