当前位置:编程学习 > asp >>

ASP时间格式化函数FormatDateTime用法详解

FormatDateTime 函数

返回表达式,此表达式已被格式化为日期或时间。

FormatDateTime(Date[, NamedFormat])

参数

参数

描述

date

Required. Any valid date expression (like Date() or Now())

必选项。要被格式化的日期表达式。(如Date()或Now())

format

Optional. A Format value that specifies the date/time format to use

可选项。指示所使用的日期/时间格式的数值

设置

NamedFormat 参数可以有以下值:

常数

描述

vbGeneralDate

0

Display a date in format mm/dd/yy. If the date parameter is Now(), it will also return the time, after the date

显示日期和/或时间。如果有日期部分,则将该部分显示为短日期格式。如果有时间部分,则将该部分显示为长时间格式。如果都存在,则显示所有部分。

vbLongDate

1

Display a date using the long date format: weekday, month day, year

使用计算机区域设置中指定的长日期格式显示日期

vbShortDate

2

Display a date using the short date format: like the default (mm/dd/yy)

使用计算机区域设置中指定的短日期格式显示日期。如默认的(月/日/年)

vbLongTime

3

Display a time using the time format: hh:mm:ss PM/AM

使用计算机区域设置中指定的时间格式显示时间

vbShortTime

4

Display a time using the 24-hour format: hh:mm

使用 24 小时格式 (hh:mm) 显示时间


ASP中时间格式转换 .
分类: Program 2009-06-09 09:51 2249人阅读 评论(1) 收藏 举报
aspfunctionASP中now()函数可以获取系统当前时间,这个时间的格式形如"2008-5-19 10:55:26".可是,有时我们更习惯使用"2008年5月19日10时55分26秒"这样的时间格式.那么,我们应该如何才能得到这样的要求呢?

思路一:使用replace()替换函数,具体代码如下:

<%

'www.zhaoxi.org朝夕网免费提供教程
function chgtime(str)
if str <> "" then
str = replace(str,"-","年",1,1)'将第一个"-"转换成"年"
str = replace(str,"-","月",1,1)'将第二个"-"转换成"月"
str = replace(str," ","日")'将空格" "转换成"日"
str = replace(str,":","时",1,1)'将冒号":"转换成"时"
str = replace(str,":","分",1,1)'将冒号":"转换成"分"
str = str&"秒"'在最后添加"秒"
end if
chgtime=str
end function
Response.Write chgtime("2008-5-19 10:55:26")
%>

运行结果:2008年5月19日10时55分26秒

思路分析:从左至右依次进行替换,具体参照代码行后面的解释.

思路二:使用FormatDateTime()函数,具体代码如下:
<%
function chgtime1(str)
dim str1,str2
if str <> "" then
str1 = FormatDateTime(str,1)'获取日期部分,得到"2008年5月19日 星期一"
str2 = FormatDateTime(str,3)'获取获取时间部分,得到"10:55:26"
end if
chgtime1=str1&" "&str2
end function
Response.Write chgtime1("2008-5-19 10:55:26")
%>

运行结果:2008年5月19日 星期一 10:55:26

思路分析:利用不FormatDateTime()函数的不同参数获取时间的不同部分再用字符串连接符连接.

综合以上两种思路,可以得到形如"2008年5月19日 星期一 10时55分26秒"的时间格式.具体代码如下:

<%
function chgtime2(str)
dim str1,str2
if str <> "" then
str1 = FormatDateTime(str,1)'获取日期部分
str2 = FormatDateTime(str,3)'获取获取时间部分
str2 = replace(str2,":","时",1,1)'将冒号":"转换成"时"
str2 = replace(str2,":","分",1,1)'将冒号":"转换成"分"
str2 = str2&"秒"'在最后添加"秒"
end if
chgtime2=str1&" "&str2
end function
Response.Write chgtime2("2008-5-19 10:55:26")
%>

运行结果:2008年5月19日 星期一 10时55分26秒

答案:asp的formatNumber再处理类似 25/5的值时,结果是 5.00 处理类似 28/8的值时,结果是3.50 
改进一下,去掉没用的0 让结果分别是 5和3.5

Function fm(nb)
If IsNumeric(nb) Then
Dim a
a=FormatNumber(nb,2,-1)
If Right((a+""),2)=00 Then
fm=CLng(a)
Else
fm=FormatNumber(nb,1,-1)
End if
Else
fm=0
End if
End Function

上一个:PR值查询代码制作
下一个:禁止站外提交表单

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,