日曆時間

日曆時間,是用“從一個標準時間點到此時的時間經過的秒數”來表示的時間。日曆時間(Calendar Time)是通過time_t數據類型來表示的,用time_t表示的時間(日曆時間)是從一個時間點(例如:1970年1月1日0時0分0秒)到此時的秒數。

日曆時間

這個標準時間點對不同的編譯器來說會有所不同,但對一個編譯系統來說,這個標準時間點是不變的,該編譯系統中的時間對應的日曆時間都通過該標準時間點來衡量,所以可以說日曆時間是“相對時間”,但是無論你在哪一個時區,在同一時刻對同一個標準時間點來說,日曆時間都是一樣的。在C語言中通過time函式獲得日曆時間。

日曆時間(Calendar Time)是通過time_t數據類型來表示的,用time_t表示的時間(日曆時間)是從一個時間點(例如:1970年1月1日0時0分0秒)到此時的秒數。

time_t實際上是長整型,到未來的某一天,從一個時間點(一般是1970年1月1日0時0分0秒)到那時的秒數(即日曆時間)超出了長整形所能表示的數的範圍怎么辦?對time_t數據類型的值來說,它所表示的時間不能晚於2038年1月18日19時14分07秒。為了能夠表示更久遠的時間,一些編譯器廠商引入了64位甚至更長的整形數來保存日曆時間。比如微軟在Visual C++中採用了__time64_t數據類型來保存日曆時間,並通過_time64()函式來獲得日曆時間(而不是通過使用32位字的time()函式),這樣就可以通過該數據類型保存3001年1月1日0時0分0秒(不包括該時間點)之前的時間。

程式案例

程式例:

#include <time.h>

#include <stdio.h>

#include <dos.h>

int main(void)

{

time_t t;

t = time(NULL);

printf("The number of seconds since January 1, 1970 is %ld\n",t);

return 0;

}

用time()函式結合其他函式(如:localtime、gmtime、asctime、ctime)可以獲得當前系統時間或是標準時間。具體用法參見這幾個函式。

相關詞條

熱門詞條

聯絡我們