VC++中CTime的几种用法:
获得当前日期和时间
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/