度量快速开发平台-专业、快速的软件定制快开平台

标题: 日期格式 FormatDateTime函数详解 [打印本页]

作者: caixuqad    时间: 2020-5-21 19:31
标题: 日期格式 FormatDateTime函数详解
FormatDateTime函数详解
描述
返回一个日期或时间格式的表达式。
语法
FormatDateTime(Date[,NamedFormat])
FormatDateTime函数语法有如下几部分:
部分描述
Date必需的。要被格式化的日期表达式。
NamedFormat可选的。数字值,表示日期/时间所使用的格式。如果忽略该值,则使用vbGeneralDate

设置值
NamedFormat参数的设置值如下:
常数描述
vbGeneralDate0显示日期和/或时间。如果有日期部分,则用短日期格式显示。如果有时间部分,则用长时间格式显示。如果都有,两部分都显示。
vbLongDate1用计算机区域设置值中指定的长日期格式显示日期。
vbShortDate2用计算机区域设置值中指定的短日期格式显示日期。
vbLongTime3用计算机区域设置值中指定的时间格式显示时间。
vbShortTime4用24小时格式(hh:mm)显示时间。
Windows中的时间格式还真不少,什么长日期、短日期,两位年份、四位年份等等,在Delphi中可用FormatDateTime函数输出这些格式,下面介绍它的用法:
function FormatDateTime(const Format: string; DateTime: TDateTime): string;
Format参数是一个格式化字符串。DateTime是时间类型。返回值是一种格式化后的字符串,重点来看Format参数中的指令字符:
c 以短时间格式显示时间,即全部是数字的表示
FormatdateTime('c',now);
输出为:2004-8-7 9:55:40
d 对应于时间中的日期,日期是一位则显示一位,两位则显示两位
FormatdateTime('d',now);
输出可能为1~31
dd 和d的意义一样,但它始终是以两位来显示的
FormatdateTime('dd',now);
输出可能为01~31
ddd 显示的是星期几
FormatdateTime('ddd',now);
输出为: 星期六
dddd 和ddd显示的是一样的。
但上面两个如果在其他国家可能不一样。
ddddd 以短时间格式显示年月日
FormatdateTime('ddddd',now);
输出为:2004-8-7
dddddd 以长时间格式显示年月日
FormatdateTime('dddddd',now);
输出为:2004年8月7日
e/ee/eee/eeee 以相应的位数显示年
FormatdateTime('ee',now);
输出为:04 (表示04年)
m/mm/mmm/mmmm 表示月
FormatdateTime('m',now);
输出为:8
FormatdateTime('mm',now);
输出为 08
FormatdateTime('mmm',now);
输出为 八月
FormatdateTime('mmmm',now);
输出为 八月
和ddd/dddd 一样,在其他国家可能不同
yy/yyyy 表示年
FormatdateTime('yy',now);
输出为 04
FormatdateTime('yyyy',now);
输出为 2004
h/hh,n/nn,s/ss,z/zzz 分别表示小时,分,秒,毫秒
t 以短时间格式显示时间
FormatdateTime('t',now);
输出为 10:17
tt 以长时间格式显示时间
FormatdateTime('tt',now);
输出为10:18:46
ampm 以长时间格式显示上午还是下午
FormatdateTime('ttampm',now);
输出为:10:22:57上午
如果要在Format中加普通的字符串,可以用双引号隔开那些特定义的字符,这样普通字符串中如果含特殊的字符就不会被显示为时间格式啦:
FormatdateTime('"today is" c',now);
输出为:today is 2004-8-7 10:26:58
时间中也可以加"-"或"\"来分开日期:
FormatdateTime('"today is" yy-mm-dd',now);
FormatdateTime('"today is" yy\mm\dd',now);
输出为: today is 04-08-07
也可以用":"来分开时间
FormatdateTime('"today is" hh:nn:ss',now);
输出为:today is 10:32:23
日期格式转换一例:
<SCRIPT RUNAT=SERVER LANGUAGE=VBSCRIPT>
function DoDateTime(str, nNamedFormat, nLCID)
dim strRet
dim oldLCID
strRet = str
If (nLCID > -1) Then
oldLCID = Session.LCID
End If
On Error Resume Next
If (nLCID > -1) Then
Session.LCID = nLCID
End If
If ((nLCID < 0) Or (Session.LCID = nLCID)) Then
strRet = FormatDateTime(str, nNamedFormat)
End If
If (nLCID > -1) Then
Session.LCID = oldLCID
End If
DoDateTime = strRet
End Function
</SCRIPT>
用以上代码可得到如
<%= DoDateTime(("2003-4-28 20:19:05), 2, -2) %> =2003-4-28
<%= DoDateTime(("2003-4-28 20:19:05), 2, 1030) %>=28-04-2003


作者: caixuqad    时间: 2020-5-21 19:31

作者: fteair    时间: 2020-5-22 13:58

作者: 张兴康    时间: 2020-5-22 19:53

作者: caixuqad    时间: 2020-5-22 20:40

作者: caixuqad    时间: 2020-6-3 20:28

作者: caixuqad    时间: 2020-6-4 18:11

作者: fteair    时间: 2020-6-5 14:40

作者: caixuqad    时间: 2020-6-10 17:19





欢迎光临 度量快速开发平台-专业、快速的软件定制快开平台 (http://plat.delit.cn/) Powered by Discuz! X3.2