如何让程序显示运行时间和当前日期

=======================显示运行时间=======================

      在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"表示输出简略时间。

补充:

struct tm{
Member Type Meaning Range
tm_sec int seconds after the minute 0-60*
tm_min int minutes after the hour 0-59
tm_hour int hours since midnight 0-23
tm_mday int day of the month 1-31
tm_mon int months since January 0-11
tm_year int years since 1900
tm_wday int days since Sunday 0-6
tm_yday int days since January 1 0-365
tm_isdst int Daylight Saving Time flag
}

posted on 2015-05-08 10:19  会敲键盘的猩猩  阅读(1251)  评论(0)    收藏  举报