C 使用time h庫計算持續時間

2021-08-29 16:10:58 字數 1275 閱讀 6795

計算演算法程式的執行時間,使用clock()函式,返回值是長整型long

函式原型為: clock_t clock(void);

其中clock_t的定義為:typedef long clock_t;說明 clock_t就是長整型

實際上這個函式返回的不是時間,這個函式只是乙個計數器,時間每過千分之一秒(就是毫秒)就加1(這個定義在time.h中)

#define clocks_per_sec 1000

這個數值不能增加,因為在標準c/c++中,最小的計時單位就是一毫秒。

#include #include using namespace std;

void mytime()

void main()

time方法用於獲取日曆時間,所謂的日曆時間是指從乙個時間點(例如:2023年1月1日0時0分0秒)到現在此時的秒數)到現在的秒數,其實就是個相對時間,也是當前的時間戳(到秒),跟一般的時間戳轉換工具(如站長工具)的值相同

time_t time(time_t * timer);

time_t實際就是個long(32位長整形)或者__int64(vc中的擴充套件64位整形)或者long long(g++編譯器中的擴充套件64位整形)

如下time_t的定義是在win32的環境下的定義:

typedef _w64 long __time32_t;

typedef __time32_t time_t;

在其他環境可能不同。

time_t * timer其實就是出參引數,函式返回值跟timer的值都是一樣,都是當前的日曆時間,

如果傳入null或者0,則該函式返回值的就是當前的時間戳。

time_t timer=12345678;

time_t nowtime=time(&timer);

cout《輸出:

1540199258

1540199258

1540199258

1540199258

1540199258

該函式返回的以秒計算的時間間隔是double型別的,但這並不說明該時間具有同double一樣的精確度,這是由它的引數決定的(time_t是以秒為單位計算的)

double difftime(time_t _time1, time_t _time2)

#include #include using namespace std;

void mytime()

void main()

c語言提莫中毒持續時間

c語言提莫中毒持續時間 描述在 英雄聯盟 的世界中,有乙個叫 提莫 的英雄,他的攻擊可以讓敵方英雄進入中毒狀態。現在,給出提莫的攻擊時間序列和提莫攻擊的中毒持續時間,你需要輸出敵方英雄的中毒狀態總時長。你可以認為提莫在給定的時間點進行攻擊,並立即使敵方英雄處於中毒狀態。輸入在輸入的一行內容為進攻次數...

航班持續時間需要客戶端運算的思考以及計算方法

思考為什麼後端直接給我們全部航班資料,讓客戶端自己翻頁 也不預先計算航班時間,需要客戶端自己計算?兩種不同的分頁風格 機票頁面是乙個流量密集型的服務。對於頁面的請求,如果每個人讀取十張飛機票就重新傳送請求,那麼 伺服器就要多處理一次。對於航空公司來說,計算航班之間時間是需要伺服器運算力,有一百個航班...

C語言筆記 time h標準庫操作時間相關問題

在c語言的標頭檔案time.h中,定義了日期和時間的資料型別以及函式。c語言中有兩種方式表示時間日期的值 time t型別和struct tm型別。以下是time.h標頭檔案的常用的時間資料型別截圖 typedef long clock t typedef int32 time32 t typede...