【MFC】:MFC如何获得系统时间?

1.使用CTime类
#include "afx.h"
void main()
{
       CString str; //获取系统时间
       CTime tm;
       tm=CTime:: GetCurrentTime()    
       str=tm.Format("现在时间是%Y年%m月%d日%X");
       MessageBox(NULL,str,NULL,MB_OK);
}
解析:
       CTime,CString共同用的头文件为“afx.h”,
       CTime类可以提取系统的当前时间函数 GetCurrentTime() ,并且可以通过Format方法转换成CString,如下例
       CTime tmSCan = CTime::GetCurrentTime();   
       CString szTime = tmScan.Format("'%Y-%m-%d %H:%M:%S'");

2、得到系统时间日期(使用GetLocalTime)
#include "afx.h"
void main()
{
       SYSTEMTIME st;     
       CString strDate,strTime;     
       GetLocalTime(&st);     
       strDate.Format("M----", st.wYear,st.wMonth,st.wDay );     
       strTime.Format("-:-:-", st.wHour,st.wMinute,st.wSecond );
       printf("%s\n",strDate);
       printf("%s\n",strTime);
}
解析:
       利用 GetLocalTime 函数,获取系统当前时间,并将获得的值放在SYSTEMTIME结构中,
       同样的也可以使用Format方法,不过这里使用的是CString类的Format方法
       SYSTEMTIME     st;
       GetLocalTime(&st);
       CString     time;
       time.Format( "M-d-d         d:d:d ",     st.wYear.....);

3、使用GetTickCount//获取系统运行时间,也可以实现对程序的运行时间的计算
#include "afx.h"
#include "afxwin.h"
void main()
{
       CString str,str1;

//        long t1=GetTickCount();//程序段开始前取得系统运行时间(ms)     
//        Sleep(500);        
//        long t2=GetTickCount();//程序段结束后取得系统运行时间(ms)      
//        str.Format("time:%dms",t2-t1);//前后之差即 程序运行时间     
//        AfxMessageBox(str);

     
       long t=GetTickCount(); //获取系统当前时间         
       str1.Format("系统已运行 %d时",t/3600000);     
       str=str1;      
       t%=3600000;     
       str1.Format("%d分",t/60000);     
       str+=str1;     
       t%=60000;     
       str1.Format("%d秒",t/1000);
       str+=str1;
       AfxMessageBox(str);
}
解析:GetTickCount函数可以获取系统运行的时间,利用其差值可以获取程序的运行时间

你可能感兴趣的:(MFC)