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...