欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Asp 日期格式化问题

程序员文章站 2022-05-08 13:09:47
对于access数据库的日期时间类型字段存储的日期,直接从数据库中读出显示的效果是带时间的如,2009-06-13 18:00 ,如果只是希望显示日期应该怎么办呢? v...

对于access数据库的日期时间类型字段存储的日期,直接从数据库中读出显示的效果是带时间的如,2009-06-13 18:00 ,如果只是希望显示日期应该怎么办呢?
vbscrip有一个函数formatdatetime()。其说明如下:
返回表达式,此表达式已被格式化为日期或时间。
formatdatetime(date[, namedformat])
参数
date
必选项。要被格式化的日期表达式。
namedformat
可选项。指示所使用的日期/时间格式的数值,如果省略,则使用 vbgeneraldate。
设置
namedformat 参数可以有以下值:

常数

描述

vbgeneraldate

0

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

vblongdate

1

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

vbshortdate

2

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

vblongtime

3

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

vbshorttime

4

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

仅希望显示日期时可用如下代码:
strdate=formatdatetime(rs(“date”),2)。
因为在vbscript只有一种计算机区域那就是美国,所以只有一种短格式
“yyyy-mm-dd”.

asp时间日期格式化输出
1,2010-10-10 00:00:00
2,2010-10-10
3,2010/10/10
4,2010年10月10 00小时00分钟00秒
5,10-10 00:00:00
6,10/10
7,10月10日
其他变换根据程序要自行添加即可

'转换时间 时间格式化 
function formatdate(byval t,byval ftype) 
dim y, m, d, h, mi, s 
formatdate="" 
if isdate(t)=false then exit function 
y=cstr(year(t)) 
m=cstr(month(t)) 
if len(m)=1 then m="0" & m 
d=cstr(day(t)) 
if len(d)=1 then d="0" & d 
h = cstr(hour(t)) 
if len(h)=1 then h="0" & h 
mi = cstr(minute(t)) 
if len(mi)=1 then mi="0" & mi 
s = cstr(second(t)) 
if len(s)=1 then s="0" & s 
select case cint(ftype) 
case 1 
' yyyy-mm-dd 
formatdate=y & "-" & m & "-" & d 
case 2 
' yy-mm-dd 
formatdate=right(y,2) & "-" & m & "-" & d 
case 3 
' mm-dd 
formatdate=m & "-" & d 
case 4 
' yyyy-mm-dd hh:mm:ss 
formatdate=y & "-" & m & "-" & d & " " & h & ":" & mi & ":" & s 
case 5 
' hh:mm:ss 
formatdate=h & ":" & mi & ":" & s 
case 6 
' yyyy年mm月dd日 
formatdate=y & "年" & m & "月" & d & "日" 
case 7 
' yyyymmdd 
formatdate=y & m & d 
case 8 
'yyyymmddhhmmss 
formatdate=y & m & d & h & mi & s 
end select 
end function 

使用方法:

strdate=formatdatetime(rs(“date”),1)