CTime/COleDateTime::Format方法的使用

转载 2013年12月03日 21:38:35
CTime类通过Format可以格式化输出日期时间信息,通过控制Format的参数我们可以实现各种各样的日期时间格式输出,要想随心所欲的控制输出的格式,就需要搞清楚各个参数的意义,下面通过实例来说明各个Format参数的意义。

假设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

上面表格中,支持#号的意思是可以在输出的时候去掉前面的0,注意上面代码中倒数2、3行之间的区别,其余的格式按照表格中各参数的意思组合起来即能获取自己想要的格式。


原创文章请注明转载于知蚁博客,本文地址:http://www.letuknowit.com/archives/52


MFC 中CTime 和 COleDateTime的区别

今天在录数据的时候,当我录入的时间是1970年以前的数据的时候,程序崩溃了,后来网上查了一下,才知道是用了CTime的原因: CTime time;// 只能设置1970年以来的时 m_drive...
  • baidu_33057165
  • baidu_33057165
  • 2016年03月21日 10:19
  • 279

CTime和COleDateTime区别 比较

CTime COleDateTime的常用操作和比较 1) 获取当前时间。 CTime time; time = CTime::GetCurrentTime(); 2) 获取时间元素。 in...
  • yu12345678900
  • yu12345678900
  • 2013年04月03日 19:38
  • 1722

time_t、SYSTEMTIME、CTime、COleDateTime互转

/* **CString转COleDateTime */ const CString baseVideoDayTime = "1980-01-01 15:56:48"; C...
  • u010582167
  • u010582167
  • 2013年10月22日 11:13
  • 1931

VC++ 时间类型转换: CTime, COleDateTime, time_t, CString

CTime==>CString CTime time;time.GetCurrentTime();CString str;str.Format("%s",time.Format("%y:%m:%d %...
  • liudayu_hikvision
  • liudayu_hikvision
  • 2010年12月14日 15:12
  • 9715

COleDateTime::Format 格式 / MFC 时间格式

COleDateTime::Format 格式 CTime ct = CTime::GetCurrentTime(); CString str = ct.Format("%Y-%m_%d %H-%M-...
  • z444_579
  • z444_579
  • 2016年09月20日 19:45
  • 1336

CTime/COleDateTime::Format方法的使用

CTime/COleDateTime::Format方法的使用CTime ct = CTime::GetCurrentTime();CString str = ct.Format("%Y-%m_%d ...
  • beyondlpf
  • beyondlpf
  • 2011年06月02日 20:27
  • 704

关于CTime::Format在Unicode下的输出问题及解决办法

    旧有程序,在处理CTime的格式化时,经常会使用Format函数进行输出。    普通情况下不会有问题。但最近改Bug,在旧控件中碰到一个特殊情况,发现其缺陷。[具体状况]    用MFC编写...
  • tiger119
  • tiger119
  • 2005年10月22日 11:28
  • 4280

MFC下的ColeDateTime类转化QT下的QDateTime类的实现方法,深入讲解QDQDateTime,Double的时间转化QDateTime

简介: DATE类型实现为一个浮点值,从1899年12月30日午夜起计算"日"数。所以1899年12月31日午夜用数1.0来表示。相似的,1900年1月1日下午6时用数2.75来表示,1899年12月...
  • MSONG93
  • MSONG93
  • 2017年07月14日 21:57
  • 286

如何在VC中加减日期及 CTime COleDateTime的常用操作和比较

如何在VC中加减日期及 CTime COleDateTime的常用操作和比较 [转贴 2008-10-31 15:51:28]    字号:大中小如何在VC中加减日期 使用CTime类,如:    C...
  • WaveYang
  • WaveYang
  • 2011年02月18日 15:48
  • 6183

CTime,COleDateTime,SYSTEMTIME

1、 使用CTime (MFC) 1) 获取当前时间。       CTime time;       time = CTime::GetCurrentTime(); 2) 获取时间元素。 ...
  • pjl1119
  • pjl1119
  • 2012年06月19日 17:11
  • 4467
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:CTime/COleDateTime::Format方法的使用
举报原因:
原因补充:

(最多只允许输入30个字)