VC++中CTime类的使用

VC++中CTime的几种用法:

获得当前日期和时间

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为星期六

如果想计算两段时间的差值,可以使用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类成员
  构造

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
VC++常用函数一应俱全 内容举例: 在状态栏添加时间 1)在String Table添加New String,在此定义为ID_INDICATOR_CLOCK, 将其Caption设为00:00:00(由于状态栏根据Caption确定时间窗格的缺 省宽度,使用此值将为时间的显示预留空间)。注 2)在MainFrm.cppindicators声明处添加ID_INDICATOR_CLOCK,代 码如下:   这一步ID_INDICATOR_CLOCK的插入位置将影响时间窗格在状态栏 的显示位置。   3)安装定时器:在MainFrm.cppOnCreate函数处添加代码如下:   int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)   { ……   SetTimer(1,1000,NULL);//安装定时器,并将其时间间隔设为1000毫秒   return 0;   }   4)编写时间处理函数:利用ClassWizard为CMainFrame加入WM_TIMER 的消息处理函数OnTimer,并添加代码如下:   void CMainFrame::OnTimer(UINT nIDEvent)   {// TODO: Add your message handler code here and/or call default   CTime time;   time=CTime::GetCurrentTime();//得到当前时间   CString s=time.Format(″%H:%M:%S″);//转换时间格式,这里格式一定要大写   m_wndStatusBar.SetPaneText(m_wndStatusBar.CommandToIn-   dex(ID_INDICATOR_CLOCK),s); //显示时钟   CFrameWnd::OnTimer(nIDEvent);}   5)销毁定时器:利用ClassWizard为CMainFrame加入WM_CLOSE的消息处理   函数OnClose,并添加代码如下:   void CMainFrame::OnClose()   {// TODO: Add your message handler code here and/or call default   KillTimer(1);//销毁定时器

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值