time

編程語言函數

time是編程語言C語言中的函數。

函數簡介


編程語言語言函。
函: 
件:.
函數原型:time_t time(time_t * timer)
功能: 獲取當前的系統時間,返回的結果是一個time_t類型,其實就是一個大整數,其值表示從CUT(Coordinated Universal Time)時間1970年1月1日00:00:00(稱為UNIX系統的Epoch時間)到當前時刻的秒數。然後調用localtime將time_t所表示的CUT時間轉換為本地時間(我們是+8區,比UTC多8個小時)並轉成struct tm類型,該類型的各數據成員分別表示年月日時分秒。
補充說明:time函數的原型也可以理解為 long time(long *tloc),即返回一個long型整數。因為在time.h這個頭文件中time_t實際上就是:
#ifndef _TIME_T_DEFINED
#typedef long time_t;
#define _TIME_T_DEFINED
#endif
即long。

應用舉例


程序例1:
time函數獲得日曆時間。日曆時間,是用“從一個標準時間點到此時的時間經過的秒數”來表示的時間。這個標準時間點對不同的編譯器來說會有所不同,但對一個編譯系統來說,這個標準時間點是不變的,該編譯系統中的時間對應的日曆時間都通過該標準時間點來衡量,所以可以說日曆時間是“相對時間”,但是無論你在哪一個時區,在同一時刻對同一個標準時間點來說,日曆時間都是一樣的。
#include
#include
#include
int main(void)
{
time_t t; t = time(NULL);
printf("The number of seconds since January 1, 1970 is %ld",t);
return 0;
}
程序例2:
//time函數也常用於隨機數的生成,用日曆時間作為種子。
#include
#include
#include
int main(void)
{
int i;
srand((unsigned) time(NULL));
printf("ten random numbers from 0 to 99\n\n");
for(i=0;i<10;i++)
{
printf("%d\n",rand()%100);
}
return 0;
}
程序例3:
用time()函數結合其他函數(如:localtime、gmtime、asctime、ctime)可以獲得當前系統時間或是標準時間。
#include
#include
#include
int main(void)
{
time_t timer;//time_t就是long int 類型
struct tm *tblock;
timer = time(NULL);//這一句也可以改成time(&timer);
tblock = localtime(&timer);
printf("Local time is: %s\n",asctime(tblock));
return 0;
}