CTime 初始化

CTime T; 
int year; 
T=CTime(2016,8,16,8,8,8); //设置时间为2008年8月8号8时8分8秒

//或者 CTime T =CTime::GetCurrentTime(); //设置为当前时间 
year=t.GetYear(); //获取年份 
   
CTime 与 CString转换

CTime m_StartTime1 = CTime::GetCurrentTime(); 
CString csStartTime = m_StartTime1.Format( “%Y%m%d%H%M%S” );

将CString转为CTime

方法一: 
CString timestr = “2000年04月05日”; 
int a,b,c ; 
sscanf(timestr.GetBuffer(timestr.GetLength()),”%d年%d月%d日”,&a,&b,&c); 
CTime time(a,b,c,0,0,0);

方法二: 
CString s(“2001-8-29 19:06:23”); 
int nYear, nMonth, nDate, nHour, nMin, nSec; 
sscanf(s, “%d-%d-%d %d:%d:%d”, &nYear, &nMonth, &nDate, &nHour, &nMin, &nSec); 
CTime t(nYear, nMonth, nDate, nHour, nMin, nSec);

方法三: 
CString timestr = “2000年04月05日”; 
int year,month,day; 
BYTE tt[5]; 
//get year 
memset(tt, 0, sizeof(tt)); 
tt[0] = timestr[0]; 
tt[1] = timestr[1]; 
tt[2] = timestr[2]; 
tt[3] = timestr[3]; 
year= atoi((char *)tt); 
//get month 
memset(tt, 0, sizeof(tt)); 
tt[0] = timestr[6]; 
tt[1] = timestr[7]; 
month = atoi((char *)tt); 
//get day 
memset(tt, 0, sizeof(tt)); 
tt[0] = timestr[10]; 
tt[1] = timestr[11]; 
CTime time(year,month,day,0,0,0); 
从上面来看,很明显使用sscanf()函数的优势.

将CTIme转换为CString的方法: 
  CTime tmSCan = CTime::GetCurrentTime(); 
  CString szTime = tmScan.Format(“’%Y-%m-%d %H:%M:%S’”); 
  这样得到的日期时间字符串就是以”2006-08-16 09:24:59”的格式.这是不是很方便呢? 
  //取得CTime中的日期 
  CString cstrDate = tmScan.Format(“%Y-%m-%d”); 
  //取得CTime中的时间 
  CString cstrTime = tmScan.Format(“%H:%M-%S”); 
  sprintf还有个不错的表妹:strftime,专门用于格式化时间字符串的,用法跟她表哥很像,也是一大堆格式控制符,只是毕竟小姑娘家心细,她还要调用者指定缓冲区的最大长度,可能是为了在出现问题时可以推卸责任吧。这里举个例子: 
  更多更好的sprintf()函数说明参考:《spirntf,你知道多少?》 
  time_t t = time(0); 
  //产生”YYYY-MM-DD hh:mm:ss”格式的字符串。 
  char s[32]; 
  strftime(s, sizeof(s), “%Y-%m-%d %H:%M:%S”, localtime(&t)); 
  sprintf在MFC中也能找到他的知音:CString::Format,strftime在MFC中自然也有她的同道:CTime::Format,这一对由于从面向对象哪里得到了赞助,用以写出的代码更觉优雅

两个CTime time1,time2,计算他们的天数 
实际上产生的是个CTimeSpan对象,相当于: 
CTimeSpan span = time1 - time2; 
int days = span.GetDays();

又如: 
CTime time4( 2007, 1, 1, 22, 15, 0 ); // 10:15PM March 19, 1999 
CTime time = CTime::GetCurrentTime(); 
CTimeSpan span = time - time4; 
int iSeconds = span.GetSeconds(); 
int idays = iSeconds / 86400

CTime 的一般常用方法相关推荐

  1. python中sys用法_python中os和sys模块的区别与常用方法总结

    python 的 python中os和sys模块的区别与常用方法总结 前言 本文主要介绍了关于python中os和sys模块区别与常用方法的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看 ...

  2. os和sys模块的常用方法

    os模块负责程序与操作系统的交互,提供了访问操作系统底层的接口; sys模块负责程序与python解释器的交互,提供了一系列的函数和变量,用于操控python的运行时环境. [1] os 常用方法 o ...

  3. C++常用方法笔记资料

    C++常用方法笔记资料 目录 目录 C++常用方法笔记资料 VS中常用的设置 C++函数注释规范: 使用fprintf保存数据 C++和OpenCV的Debug文件 获得路径中的文件名和文件前缀和后缀 ...

  4. python中的sys模块和os_python中os和sys模块的区别与常用方法总结

    前言 本文主要介绍了关于python中os和sys模块区别与常用方法的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 官方解释: os: This module provi ...

  5. python 线程(1)-- 常用方法与属性,锁,同步

    一.库介绍 线程管理使用threading模块 threading模块提供的类: Thread, Lock, Rlock, Condition, [Bounded]Semaphore, Event, ...

  6. VC2012下MFC程序各控件的常用方法

    一下控件的用法全部在VC2012下调试通过,特发文收藏(部分内容来自或参考自网络): Static Text: 将ID号改成唯一的一个,如:IDC_XX,然后进一次类向导点确定产生这个ID,之后更改C ...

  7. vc 界面编程常用方法 listctrl toolbar

      vc 界面编程常用方法收藏 新一篇: Building SQLite3 with Visual Studio 2005 | 旧一篇: Visual Studio 2005 IDE 技巧和窍门 &l ...

  8. 30 个 php 操作 redis 常用方法代码例子

    这篇文章主要介绍了 30 个 php 操作 redis 常用方法代码例子 , 本文其实不止 30 个方法 , 可以操作 string 类 型. list 类型和 set 类型的数据 , 需要的朋友可以 ...

  9. SearchRequestBuilder常用方法说明

    SearchRequestBuilder常用方法说明 (1) setIndices(String... indices):上文中描述过,参数可为一个或多个字符串,表示要进行检索的index:(2) s ...

最新文章

  1. POJ 1006 Biorhythms
  2. 一个数里有那些约数用c++怎么做_如何从一堆数里找出哪几个数相加等于你要的值?...
  3. ubuntu(14.04) 下配置重写
  4. C#省市二级联动(王者荣耀挑选英雄为例)
  5. ObjectContext.Refresh
  6. Linux下ARM开发环境搭建
  7. 用javascript缓存ajax数据
  8. php公众号客服消息图文,微信公众号开发系列-发送客服消息(示例代码)
  9. Percona XtraBackup 安装介绍篇
  10. Hello, world!
  11. 就你赚的那点钱,我们家哪里有能力请护工?
  12. 怎样缩小图片大小kb?
  13. Cannot lock file hash cache (E:\blackWu\github\X5WebView\WebViewX5\.gradle\4.6\fileHashes) as it has
  14. android:layout_height=match_parent和android:layout_marginTop=100dp同时作用
  15. 计算机无法上无线网络连接到internet,电脑连接不上无线网络,教您怎么解决电脑连接不上无线网络...
  16. win10连接打印机问题:不能访问此共享文件夹
  17. 如何更好的与ChatGPT人机对话进行辅助pyhton代码开发
  18. 20年上海站D题Walker(二分,简洁)
  19. Oracle生成日历表
  20. 《C++新经典Linux C++通信架构实战》第2章 进入Nginx之门

热门文章

  1. 《Web安全渗透全套教程(40集)》学习笔记 | SQL注入攻击及防御
  2. PHP论坛开发技术总结
  3. butter滤波器是iir吗_MATLAB IIR滤波器设计函数buttord与butter
  4. Web前端开发的就业前景怎么样,薪资待遇如何
  5. Crypto-RSA加密
  6. 如何巧妙的防止网站被劫持
  7. 清明寄哀思,祭拜的是先人,释怀的是自己
  8. 数据治理-数据生命周期管理-大数据归档与销毁
  9. b与b不同(b和B的区别)
  10. Our replica set configuration is invalid or does not include us