使用time()函數(shù)。它在頭文件time.h中
成都創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)與策劃設(shè)計(jì),吉水網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:吉水等地區(qū)。吉水做網(wǎng)站價(jià)格咨詢:13518219792
具體使用方法如下:
time_t
a,b;//time_t是表示時(shí)間的結(jié)構(gòu)體,你可以在time.h中找到它的原型。
a=time(null);//表示獲取當(dāng)前的機(jī)器時(shí)間。
代碼段
b=time(null);//表示獲取當(dāng)前的機(jī)器時(shí)間。
a是代碼段執(zhí)行前的時(shí)間,b是代碼段執(zhí)行后的時(shí)間(單位是秒),那么b-a當(dāng)然是代碼段的執(zhí)行時(shí)間了。輸出時(shí),以長整型輸出時(shí)間。
希望這個(gè)解答可以幫到你。
32位表示毫秒只能表示49天吧,也就是現(xiàn)在它就不夠呀,只能用64位的數(shù)字。
ftime只能到2038年,VC中有ftime64可以表示到3000年。
#include cstdio
#include ctime
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
void printTime() {
struct tm t;? ?//tm結(jié)構(gòu)指針
time_t now;? //聲明time_t類型變量
time(now);? ? ? //獲取系統(tǒng)日期和時(shí)間
localtime_s(t, now);? ?//獲取當(dāng)?shù)厝掌诤蜁r(shí)間
? ?//格式化輸出本地時(shí)間
printf("年-月-日-時(shí)-分-秒:%d-%d-%d %d:%d:%d\n", t.tm_year + 1900, t.tm_mon + 1, t.tm_mday, t.tm_hour, t.tm_min, t.tm_sec);
}
int main(int argc, char** argv) {
printTime();
}
用clock就到毫秒了. 它是直接返回毫秒.
#include stdio.h
#include stdlib.h
#include time.h
int main()
{
clock_t start, finish;
double elapsed_time;
start=clock();
finish=clock();
elapsed_time = finish-start;
}
CreateWaitableTimer,SetWaitableTimer;
WM_TIMER消息也是可以的
如果不是Windows,則可以用time函數(shù),需包含time.h
如果是PC平臺,用VC開發(fā),實(shí)現(xiàn)一毫秒延時(shí)可以用以下程序:
#include?stdio.h
#include?windows.h?//Sleep函數(shù)對應(yīng)的庫
int?main()
{
int?i;
for?(i=0;?i11;?i++)
{
printf("%d\n",?i);
Sleep(1);//?1?單位是毫秒,實(shí)現(xiàn)等待一毫秒
}
return?0;
}
如果是嵌入式平臺,單片機(jī)、dsp等
可以采用芯片的定時(shí)器實(shí)現(xiàn)精確延時(shí),采用定時(shí)器中斷,這是就需要根據(jù)晶振周期來精確設(shè)定定時(shí)器初值,然后延時(shí)到了就產(chǎn)生中斷