Asp 日期格式化问题
投稿:mdxy-dxy 字体:[增加 减小] 类型:转载 时间:2009-06-14
asp做网站经常遇到日期格式处理问题,介绍一个有用的vbscript 函数formatdatetime()
对于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) 沙比作者这是不是formatdatetime(rs(“date”),1) 而是 formatdate(rs(“date”),1)
沙比糊弄人。。。。。。。。。。。。。。