C C 時間函式使用方法介紹 3

2021-04-23 16:33:44 字數 1357 閱讀 6871

c/c++時間函式使用方法介紹(3)

2007-12-14 17:22

#include

void main( void ) 

執行結果: 

today is saturday, day 30 of july in the year 2005. 

4.5 計算持續時間的長度 

有時候在實際應用中要計算乙個事件持續的時間長度,比如計算打字速度。在第1節計時部分中,我已經用clock函式舉了乙個例子。clock()函式可以精確到毫秒級。同時,我們也可以使用difftime()函式,但它只能精確到秒。該函式的定義如下: 

double difftime(time_t time1, time_t time0); 

雖然該函式返回的以秒計算的時間間隔是double型別的,但這並不說明該時間具有同double一樣的精確度,這是由它的引數覺得的(time_t是以秒為單位計算的)。比如下面一段程式: 

#include "time.h" 

#include "stdio.h" 

#include "stdlib.h" 

int main(void) 

執行結果為: 

請按任意鍵繼續. . . 

the pause used 2.000000 seconds. 

請按任意鍵繼續. . . 

可以想像,暫停的時間並不那麼巧是整整2秒鐘。其實,你將上面程式的帶有「//<-」注釋的一行用下面的一行**替換: 

printf("the pause used %f seconds./n",end-start); 

其執行結果是一樣的。 

4.6 分解時間轉化為日曆時間 

這裡說的分解時間就是以年、月、日、時、分、秒等分量儲存的時間結構,在c/c++中是tm結構。我們可以使用mktime()函式將用tm結構表示的時間轉化為日曆時間。其函式原型如下: 

time_t mktime(struct tm * timeptr);

其返回值就是轉化後的日曆時間。這樣我們就可以先制定乙個分解時間,然後對這個時間進行操作了,下面的例子可以計算出2023年7月1日是星期幾: 

#include "time.h" 

#include "stdio.h" 

#include "stdlib.h" 

int main(void) 

執行結果: 

tue jul 01 00:00:01 1997 

現在注意了,有了mktime()函式,是不是我們可以操作現在之前的任何時間呢?你可以通過這種辦法算出2023年8月15號是星期幾嗎?答案是否定的。因為這個時間在2023年1月1日之前,所以在大多數編譯器中,這樣的程式雖然可以編譯通過,但執行時會異常終止。

摘自中國程式設計網

Gitosis使用方法介紹

gitosis是乙個第三方工具,可以用來管理自己搭建的git server上的專案倉庫和專案使用者的使用許可權。在伺服器上裝好gitosis後,管理可以通過命令 git clone 伺服器使用者名稱 伺服器ip gitosis.git,來獲取git伺服器的配置檔案。1 gitosis配置首先介紹gi...

C C 時間函式的使用

一 獲取日曆時間 time t是定義在time.h中的乙個型別,表示乙個日曆時間,也就是從1970年1月1日0時0分0秒到此時的秒數,原型是 typedef long time t time value 可以看出time t其實是乙個長整型,由於長整型能表示的數值有限,因此它能表示的最遲時間是203...

C C 時間函式的使用

一 獲取日曆時間 time t是定義在time.h中的乙個型別,表示乙個日曆時間,也就是從1970年1月1日0時0分0秒到此時的秒數,原型是 typedef long time t time value 可以看出time t其實是乙個長整型,由於長整型能表示的數值有限,因此它能表示的最遲時間是203...