2025年4月18日 星期五 乙巳(蛇)年 正月十九 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > VC/VC++

获取当前系统时间+计算代码执行时间

时间:09-15来源:作者:点击数:39

获取当前系统时间

  • 方法1 使用Win API :GetLocalTime()函数实现 精确到毫秒
  • #include <windows.h>
  • #include <stdio.h>
  • using namespace std;
  • int main()
  • {
  • SYSTEMTIME time;
  • GetLocalTime(&time);
  • //获取系统时间-年月日时分秒毫秒
  • printf("%04d/%02d/%02d %02d:%02d:%02d:%03d", time.wYear, time.wMonth, time.wDay, time.wHour, time.wMinute, time.wSecond, time.wMilliseconds);
  • return 0;
  • }

输出结果

在这里插入图片描述
  • 方法2 VS提供的ATL模板库 :CTime::GetCurrentTime()实现
  • CTime day;
  • day = CTime::GetCurrentTime();
  • int filenameyear,filenamemonth,filenameday, filehour, filemin, filesec;
  • filenameyear = day.GetYear();//yyyy年
  • filenamemonth = day.GetMonth();//mm月份
  • filenameday = day.GetDay();//dd
  • filehour = day.GetHour();//hh时
  • filemin = day.GetMinute();//mm分钟
  • filesec = day.GetSecond();//ss
  • CString timeStr;
  • timeStr.Format("%04d-%02d-%02d %02d_%02d_%02d", filenameyear, filenamemonth, filenameday, filehour, filemin, filesec);
  • //也可以简便一点
  • CTime time1=CTime::GetCurrentTime();//获取当前时间
  • CString str=time1.Format("%Y-%m-%d %H:%M:%S");
  • #include <windows.h>
  • #include<atltime.h>//必须包含此头文件
  • #include <stdio.h>
  • using namespace std;
  • int main()
  • {
  • CTime time = CTime::GetCurrentTime();
  • printf("%04d/%02d/%02d %02d:%02d:%02d", time.GetYear(), time.GetMonth(), time.GetDay(), time.GetHour(), time.GetMinute(), time.GetSecond());
  • return 0;
  • }

输出结果

在这里插入图片描述


计算代码执行时间

  • 方法1

同样是使用之前先包含头文件

  • #include<windows.h>

具体代码实现如下:

  • //计算时间差
  • DWORD startTime=GetTickCount();
  • //----程序过程-----//
  • DWORD endTime=GetTickCount();
  • CString str;
  • str.Format("消耗的时间 %d ms",endTime-startTime);
  • //调试输出
  • OutputDebugString(str);
  • TRACE(str);
  • 方法2

使用clock()函数需要包含time.h这个头文件,C++中包含ctime这个头文件。

  • #include<time.h>
  • clock_t cstart,cends;
  • cstart=clock();
  • long sum1 =0;
  • long a1[5][10000000];
  • for(long i = 0; i < 5; i++)
  • {
  • for(long j = 0; j < 10000000; j++)
  • {
  • sum1 += a1[i][j];
  • }
  • }
  • cout << "sum1=:" << sum1 << endl;
  • cends=clock();
  • cout << "Clock时间差:" << (cends-cstart)/ CLOCKS_PER_SEC << endl;
  • //计算出来的时间差为了方便阅读理解可以除以CLOCKS_PER_SEC这个常量化为秒
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐