C++获取当前时间和计算程序运行时间的方法


获取当前时间:

注意一点就是如果程序很小,那么运行速度回很快,此时求出的程序运行时间会等于0

#include <iostream>

#include <Windows.h>

 

using namespacestd;

 

int main()

{

    SYSTEMTIME sys;

    GetLocalTime(&sys);

    cout<<sys.wYear<<"";

    cout<<sys.wMonth<<"";

    cout<<sys.wDay<<"";

    cout<<sys.wHour<<"";

   cout<<sys.wMinute<<"";

    cout<<sys.wSecond<<"";

    cout<<sys.wMilliseconds<<"毫秒";

    cout<<",星期"<<sys.wDayOfWeek<<endl;

 

    return 0;

}

 

 

计算程序运行时间 方法一:

#include <iostream>

#include <time.h>//关键

 

using namespacestd;

 

int main()

{

    clock_t start, finish;

    doubletotalTime;

 

    start = clock();

 

    //需要测试运行时间的代码段放在这

 

    finish = clock();

 

    totalTime = (double)(finish- start);

    cout<<"花费"<<totalTime<<"毫秒"<<endl;

 

    return 0;

}

 

 

计算程序运行时间 方法二:

#include <iostream>

#include <Windows.h>//关键

 

using namespacestd;

 

int main()

{

    LONGLONG start, finish;

    LONGLONG totalTime;

 

    start = GetTickCount();

 

    //需要测试运行时间的代码段放在这

    finish = GetTickCount();

 

    totalTime = finish - start;

    cout<<"花费"<<totalTime<<"毫秒"<<endl;

 

    return 0;

}

 

在C++中,我们可以使用clock()函数来返回调用程序运行时间量的近似值,一般单位是毫秒。但是,如果我们想要把它转换到秒的话,就需要将clock()的返回值除上CLOCKS_PER_SEC,这样就可以将时间转换成秒数。其中,CLOCKS_PER_SEC在vs2008中的定义为:

#define CLOCKS_PER_SEC  1000

  下面,我们用一个程序来举例说明下。注意一点,要想使用clock()函数,我们必须包含time.h头文件。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
using  namespace  std;
#include <time.h>
void  cost_time()
{
     cout<< "调用该程序所花费的时间为:" << clock ()/CLOCKS_PER_SEC<< "秒\n" ;
     cout<< "调用该程序所花费的时间为:" << clock ()<< "毫秒\n" ;
}
int  main()
{
     for ( int  a=0;a!=1000; )
     {
         cout<< "a=" <<a<< ' ' ;
         a=a+1;
     }
     cost_time();
     return  0;
}

      程序的运行结果为:(省略a从1到884哈)

=======================显示当前日期=======================

      首先给出代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
using  namespace  std;
#include <time.h>
#include <locale.h>
int  main()
{
     setlocale (LC_TIME, "" );
     time_t  TIME;
     struct  tm  *TM;
     char  ch[81],ch1[81];
     time (&TIME);
     TM= gmtime (&TIME);
     strftime (ch,80, "%#x" ,TM);
     strftime (ch1,80, "%x" ,TM);
     cout<<ch<<endl;
     cout<<ch1<<endl;
     return  0;
}

  程序输出如下:

    这样,就可以输出当前日期了。其中要注意一下,程序14行中的"%#x"表示输出完整时间,而15行的"%x"表示输出简略时间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值