MFC 获得系统时间的方法

1.使用CTime类
  CString str; //获取系统时间
   CTime tm; tm=CTime::GetCurrentTime(); 
  str=tm.Format("现在时间是%Y年%m月%d日 %X"); MessageBox(str,NULL,MB_OK);

2: 得到系统时间日期(使用GetLocalTime)

 在Win32程序汇编中有SYSTEMTIME类数据结构。SYSTEMTIME结构定义如下:

  SYSTEMTIME STRUCT
  {
  WORD wYear ; 年
  WORD wMonth ;月
  WORD wDayOfWeek ;星期,0=星期日,1=星期一...
  WORD wDay ;日
  WORD wHour ;时
  WORD wMinute ;分
  WORD wSecond ;秒
  WORD wMilliseconds ;毫秒
  }SYSTEMTIME ENDS



  SYSTEMTIME st;
  CString strDate,strTime;
  GetLocalTime(&st);
  strDate.Format("%4d-%2d-%2d",st.wYear,st.wMonth,st.wDay);

  strTime.Format("%2d:%2d:%2d",st.wHour,st.wMinute,st.wSecond);

3.使用GetTickCount//获取程序运行时间 
  long t1=GetTickCount();//程序段开始前取得系统运行时间(ms) 
  Sleep(500); long t2=GetTickCount();//程序段结束后取得系统运行时间(ms) 
  str.Format("time:%dms",t2-t1);//前后之差即 程序运行时间 
  AfxMessageBox(str);//获取系统运行时间
  long t=GetTickCount(); 
  CString str,str1;
   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);

4:用time()函数结合其他函数(如:localtimegmtimeasctimectime)可以获得当前系统时间或是标准时间。

  #include <stdio.h>
  #include <stddef.h>
  #include <time.h>
  int main(void)
  {
  time_t timer;//time_t就是long int 类型
  struct tm *tblock;
  timer = time(NULL);//这一句也可以改成time(&timer);
  tblock = localtime(&timer);
  printf("Local time is: %s\n",asctime(tblock));
  return 0;
  }

你可能感兴趣的:(MFC 获得系统时间的方法)