CTime类通过Format可以格式化输出日期时间信息,通过控制Format的参数我们可以实现各种各样的日期时间格式输出,要想随心所欲的控制输出的格式,就需要搞清楚各个参数的意义,下面通过实例来说明各个Format参数的意义。
上面表格中,支持#号的意思是可以在输出的时候去掉前面的0,注意上面代码中倒数2、3行之间的区别,其余的格式按照表格中各参数的意思组合起来即能获取自己想要的格式。
假设CTime对象当前的日期时间为:2011-4-17 14:32:18 星期日 英文表示为:Sunday, April 17, 2011 14:32:18,下表中列出了各种Format参数的输出结果以及备注说明。
Format参数 | 输出结果 | 备注 |
%a | Sun | 星期的缩写(英文) |
%A | Sunday | 完整的星期名(英文) |
%b | Apr | 月份的缩写(英文) |
%B | April | 完整的月份名(英文) |
%c | 04/17/11 14:32:18 | |
%d | 17 | 日(01-31) 支持# |
%H | 14 | 24小时制的小时(00-23) 支持# |
%I | 02 | 12小时制的小时(01-12) 支持# |
%j | 107 | 今年的第几天(001-366) 支持# |
%m | 04 | 月(01-12) 支持# |
%M | 32 | 分钟(00-59) 支持# |
%p | PM | 12小时制中的AM和PM |
%S | 18 | 秒钟(00-59) 支持# |
%U | 16 | 一年中的第几周,星期天作为每周的第一天(00-53) 支持# |
%w | 0 | 工作日,周日为0(0-6) 支持# |
%W | 15 | 一年中的第几周,星期一作为每周的第一天(00-53) 支持# |
%x | 04/17/11 | |
%X | 14:32:18 | |
%y | 11 | 两位数表示的年(00-99) 支持# |
%Y | 2011 | 年 支持# |
%z | 中国标准时间 | |
%Z | 中国标准时间 |
使用方法
CString str;
CTime tmNow= CTime::GetCurrentTime();
str = tmNow.Format(_T("%Y年%m月%d日"));// 2011年04月17日
str = tmNow.Format(_T("%Y-%m-%d %H:%M:%S"));// 2011-04-17 14:32:18
str = tmNow.Format(_T("%Y-%#m-%#d %H:%M:%S"));// 2011-4-17 14:32:18
str = tmNow.Format(_T("%c"));// 04/17/11 14:32:18