一、獲取日曆時間
time_t是定義在time.h中的乙個型別,表示乙個日曆時間,也就是從2023年1月1日0時0分0秒到此時的秒數,原型是:
typedef long time_t; /* time value */
可以看出time_t其實是乙個長整型,由於長整型能表示的數值有限,因此它能表示的最遲時間是2023年1月18日19時14分07秒。
函式time可以獲取當前日曆時間時間,time的定義:
time_t time(time_t *)
code:
#include
#include
using namespace std;
int main(void)
二、獲取本地時間
time_t只是乙個長整型,不符合我們的使用習慣,需要轉換成本地時間,就要用到tm結構,time.h中結構tm的原型是:
struct tm
;可以看出,這個結構定義了年、月、日、時、分、秒、星期、當年中的某一天、夏令時。可以用這個結構很方便的顯示時間。
用localtime獲取當前系統時間,該函式將乙個time_t時間轉換成tm結構表示的時間,函式原型:
struct tm * localtime(const time_t *)
使用gmtime函式獲取格林尼治時間,函式原型:
struct tm * gmtime(const time_t *)
code:
#include
#include
using namespace std;
void dsptime(const struct tm *); //輸出時間。
int main(void)
void dsptime(const struct tm * ptm)
; cout << ptm->tm_year+1900 << "年" << ptm->tm_mon+1 << "月" << ptm->tm_mday << "日 " ;
cout << ptm->tm_hour << ":" << ptm->tm_min << ":" << ptm->tm_sec <<" " ;
cout << " 星期" tm_yday << "天 " << endl;
}三、計算時間間隔
可以通過difftime來計算兩個時間的間隔,可以精確到秒,函式原型:
double difftime(time_t, time_t)
要想精確到毫秒,就要使用clock函式了,函式原型:
clock_t clock(void)
從定義可以看出clock返回乙個clock_t型別,這個型別也定義在time.h中,原型是:
typedef long clock_t
clock_t也是乙個長整型,表示的是從程式開始執行到執行clock函式時所經過的cpu時鐘計時單元數。
code:
#include
#include
using namespace std;
int main(void)
四、獲得當前精確時間(2023年1月1日到現在的時間)
gettimeofday是獲得當前精確時間(2023年1月1日到現在的時間),或者為執行計時,可以使用gettimeofday()函式。函式原型:
int gettimeofday(struct timeval *tv, struct timezone *tz )
gettimeofday()會把目前的時間用tv 結構體返回,當地時區的資訊則放到tz所指的結構中
函式執行成功後返回0,失敗後返回-1
(1)timeval結構體定義為:
struct timeval
;(2)timezone 結構定義為:
struct timezone
code:
#include
#include
#include
int main()
說明:在使用gettimeofday()函式時,第二個引數一般都為空,因為我們一般都只是為了獲得當前時間,而不用獲得timezone的數值
五、將時間結構轉換為對應的秒數:
mktime()函式原型:
time_t mktime(struct tm * timeptr);
作用是,將時間轉換為自2023年1月1日以來持續時間的秒數,發生錯誤時返回-1。
code:
#include
#include
main()
c語言時間函式
include 1.獲得日曆時間 實際上是長整型,從乙個時間點 一般是1970年1月1日0時0分0秒 到此時的秒數 time t的值由函式time 獲得 time t time time t timer eg time t t time null struct tm struct tm的值由函式lo...
C語言時間函式
在呼叫系統時間處理時間問題時,需要使用時間函式,使用前需要引入標頭檔案time.h。time t time time t t time函式會返回從公元1970年1月1日的utc時間從0時0分0秒算起到現在所經過的秒數。引數t是乙個指標,如果不是乙個空指標,函式也會將返回值存到t指標所指的記憶體單元中...
c語言整理時間的操作
time t表示時間型別資料,在標頭檔案time.h中定義,而計算機表示乙個日曆時間是從1970年1月1日0時0分0秒到現在的秒數 函式型別是 typedef long time t long型別 時間庫函式 time t time time t t 利用返回值,返回值是1970年1月1日0時0分0...