主页C++ Builder 资料C++ Builder 参考手册System 日期和时间FormatDateTime
C++ Builder 串口控件
C++ Builder 编程技巧
C++ Builder 操作指南
C++ Builder 参考手册
基础知识
cfloat 浮点数
cmath 数学函数
cstdlib 标准库函数
System 字符串
System 日期和时间
 • TDate
 • TTime
 • TDateTime
 • TDateTimeBase
 • Now
 • UnixToDateTime
 • DateTimeToUnix
 • DateTimeToStr
 • DateToStr
 • DecodeDate
 • DecodeTime
 • DecodeDateTime
 • FormatDateTime
 • StrToDate
 • StrToDateDef
 • StrToDateTime
 • StrToDateTimeDef
 • StrToTime
 • StrToTimeDef
 • TimeToStr
System.Math.hpp 数学函数
其他数据类型
VCL 基础类
VCL 应用程序
Pictures 图片
Graphics 绘图
Additional 控件
System 控件
A ~ Z 字母顺序排列的目录
网友留言/技术支持
FormatDateTime - 按照参数给定格式把日期时间转为字符串

函数原型:

UnicodeString __fastcall FormatDateTime(const UnicodeString Format, TDateTime DateTime);
UnicodeString __fastcall FormatDateTime(const UnicodeString Format, TDateTime DateTime, const TFormatSettings &AFormatSettings);

头文件:

#include <System.SysUtils.hpp> (XE2 之后) #include <SysUtils.hpp> (XE 之前)

参数:

Format: 格式字符串,见本文附表 “格式控制符”;
DateTime: TDateTime 类型的日期时间;
AFormatSettings: TFormatSettings 类型的格式;如果没有这个参数,会使用全局对象 FormatSettings 作为这个参数。

返回值:

日期时间字符串,符合参数 Format 和 AFormatSettings 规定的格式。

 

格式控制符:

控制符 转换结果
c 日期采用 ShortDateFormat,时间采用 LongTimeFormat 格式,如果时间恰巧是半夜 00:00:00.000 会不包含时间。
d 日,1 ~ 31
dd 日,01 ~ 31,始终输出两位数,不足两位前面补 0
ddd 星期 (简称),使用 ShortDayNames 数组里面的星期名称输出。
dddd 星期 (全称),使用 LongDayNames 数组里面的星期名称输出。
ddddd 日期,采用 ShortDateFormat 格式
dddddd 日期,采用 LongDateFormat 格式
e 显示本地日历的年,最多 2 位,支持日本、韩国、台湾等地区 (只支持 Windows 操作系统)
ee 显示本地日历的年,最多 2 位,支持日本、韩国、台湾等地区 (只支持 Windows 操作系统)
eeee 显示本地日历的年,最多 4 位,支持日本、韩国、台湾等地区 (只支持 Windows 操作系统)
g 显示本地日历的纪元简称,例如 "平成","단기" 等,支持日本、韩国、台湾等地区 (只支持 Windows 操作系统)
gg 显示本地日历的纪元全称,例如 "平成","단기" 等,支持日本、韩国、台湾等地区 (只支持 Windows 操作系统)
m 月,1 ~ 12。如果 m 紧跟着 h 或 hh,将会输出分钟 (与 n 相同,0 ~ 59),其他情况都是输出月份。
mm 月,01 ~ 12。不足 2 位前面补 0。如果 mm 紧跟着 h 或 hh,将会输出分钟 (与 nn 相同,00 ~ 59),其他情况都是输出月份。
mmm 月份简称,使用 ShortMonthNames 数组里面的月份名称输出。
mmmm 月份全称,使用 LongMonthNames 数组里面的月份名称输出。
yy 年,两位数 00 ~ 99
yyyy 年,四位数,0000 ~ 9999
h 时,0 ~ 23
hh 时,00 ~ 23,两位,不足两位前面补 0
n 分,0 ~ 59。n 和 nn 始终认为是分钟,如果用 m 或 mm 必须紧跟在 h 和 hh 后面才认为是分钟,否则 m 和 mm 认为是月份。
nn 分,00 ~ 59。n 和 nn 始终认为是分钟,如果用 m 或 mm 必须紧跟在 h 和 hh 后面才认为是分钟,否则 m 和 mm 认为是月份。
s 秒,0 ~ 50
ss 秒,00 ~ 59,两位,不足两位前面补 0
z 毫秒,0 ~ 999
zzz 毫秒,000 ~ 999,三位,不足三位前面补 0
t 时间,使用 ShortTimeFormat 格式。
tt 时间,使用 LongTimeFormat 格式。
am/pm 时间是上午输出 am,下午输出 pm,时间 h 或 hh 使用 12 小时制。am 和 pm 可以使用大写、小写、或混合的,会原样输出
a/p 时间是上午输出 a,下午输出 p,时间 h 或 hh 使用 12 小时制。a 和 p 可以使用大写、小写、或混合的,会原样输出
ampm 时间是上午,输出 TimeAMString,下午输出 TimePMString,时间 h 或 hh 使用 12 小时制
/ 输出日期分割符,即 DateSeparator 字符。输出的是日期分隔符,而不是斜线本身,如果要输出斜线本身,需要用引号 '/'
: 输出时间分隔符,即 TimeSeparator 字符。输出的是时间分隔符,而不是冒号本身,如果要输出冒号本身,需要用引号 ':'
'xx'/"xx" 单引号或双引号里面的字符原样输出。如果要把作为控制符的字符原样输出,需要写在引号里面。

 

例:输出当前系统时间

Label1->Caption = FormatDateTime(L"yyyy/mm/dd hh:nn:ss:zzz", Now());

运行结果:

2017-06-30 10:39:25:143
◤上一页:DecodeDateTime下一页:StrToDate

C++ 爱好者 -- Victor Chen 的个人网站 www.cppfans.com 辽ICP备11016859号