CTime简单用法

VC++中CTime的几种用法:

获得当前日期和时间

CTime(__time64_t time);
以一个__time64_t(注意:最前面的下划线有两条)类型的数据来构造一个CTime对象。参数time是一个__time64_t类型的值,表示自GMT时间1970年1月1日零点以来的秒数,这里要注意的是,参数time代表的时间会转换为本地时间保存到构造的CTime对象中。例如,我们传递参数0构造一个CTime对象,然后调用CTime对象的GetHour成员函数将返回8,因为参数0代表的GMT时间转换为北京时间后为1970年1月1日 8:00:00。

static CTime WINAPI GetCurrentTime( );

CTime tm=CTime::GetCurrentTime();

 CString str=tm.Format("%Y-%m-%d");

在VC中,我们可以借助CTime时间类,获取系统当前日期,具体使用方法如下:

CTime t = CTime::GetCurrentTime(); //获取系统日期

int d=t.GetDay(); //获得几号

int y=t.GetYear(); //获取年份

int m=t.GetMonth(); //获取当前月份

int h=t.GetHour(); //获取当前为几时

int mm=t.GetMinute(); //获取分钟

int s=t.GetSecond(); //获取秒

int w=t.GetDayOfWeek(); //获取星期几,注意1为星期天,7为星期六

CTime _time=CTime::GetCurrentTime();
   time_t _beginTime=_time.GetTime();

如果想计算两段时间的差值,可以使用CTimeSpan类,具体使用方法如下:

CTime t1( 1999, 3, 19, 22, 15, 0 );

CTime t = CTime::GetCurrentTime(); 

CTimeSpan span=t-t1; //计算当前系统时间与时间t1的间隔

int iDay=span.GetDays(); //获取这段时间间隔共有多少天

int iHour=span.GetTotalHours(); //获取总共有多少小时

int iMin=span.GetTotalMinutes();//获取总共有多少分钟

int iSec=span.GetTotalSeconds();//获取总共有多少秒

 

设置计时器  

定义TIMER ID

#define TIMERID_JISUANFANGSHI 2

在适当的地方设置时钟,需要开始其作用的地方;

SetTimer(TIMERID_JISUANFANGSHI,200,NULL);

在不需要的时候销毁掉时钟

 KillTimer(TIMERID_JISUANFANGSHI);

消息映射

void CJisuan::OnTimer(UINT nIDEvent)

{}

 

 

 

///////////////////////////////////////////////////////////////////

CTimeSpan 
  CTimeSpan没有基类。 
  一个CTimeSpan对象代表一个相对的时间段。CTimeSpan引入了ANSI time_t数据及与之相关的运行时函数。这些函数将秒转换为日,时,分和秒的各种组合。 
  一个CTimeSpan对象以秒为单位保存时间。由于CTimeSpan对象以带符号的四字节数存储,所以最大的时间跨度近似为+-68年。 
  另外一个与CTimeSpan对应的类是CTime,它描述的是绝对时间。CTimeSpan是两个CTime对象之间的差。 
  CTime和CTimeSpan类不可派生。因为没有虚函数,所以CTime和CTimeSpan对象的大小都正好是四字节。大多数成员函数都是内联函数。 
  有关使用CTime的更多信息,参见“Visual C++程序员指南”中的文章“日期和时间”,以及“Microsoft Visual C++ 6.0参考库”的“Microsoft Visual C++ 6.0运行时库参考”卷中的“时间管理”。 
  #include 
  请参阅: 
  Run-time functions: asctime, _ftime, gmtime, localtime, strftime, time 
  CTimeSpan类成员 
  构造

转自:http://lingchuangsong.blog.163.com/blog/static/12693232201052432315531/

你可能感兴趣的:(MFC)