如何让程序显示运行时间和当前日期
=======================显示运行时间=======================
在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
}
浙公网安备 33010602011771号