頭文件time.h
為寧陵等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及寧陵網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為網(wǎng)站設(shè)計制作、成都網(wǎng)站設(shè)計、寧陵網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
@函數(shù)名稱: localtime
函數(shù)原型: struct tm *localtime(const time_t *timer)
函數(shù)功能: 返回一個以tm結(jié)構(gòu)表達(dá)的機(jī)器時間信息
函數(shù)返回: 以tm結(jié)構(gòu)表達(dá)的時間,結(jié)構(gòu)tm定義如下:
struct tm{
int tm_sec;
int tm_min;
int tm_hour;
int tm_mday;
int tm_mon;
int tm_year;
int tm_wday;
int tm_yday;
int tm_isdst;
};
參數(shù)說明: timer-使用time()函數(shù)獲得的機(jī)器時間
#include time.h
#include stdio.h
#include dos.h
int main()
{
time_t timer;
struct tm *tblock;
timer=time(NULL);
tblock=localtime(timer);
printf("Local time is: %s",asctime(tblock));
return 0;
}
@函數(shù)名稱: asctime
函數(shù)原型: char* asctime(struct tm * ptr)
函數(shù)功能: 得到機(jī)器時間(日期時間轉(zhuǎn)換為ASCII碼)
函數(shù)返回: 返回的時間字符串格式為:星期,月,日,小時:分:秒,年
參數(shù)說明: 結(jié)構(gòu)指針ptr應(yīng)通過函數(shù)localtime()和gmtime()得到
所屬文件: time.h
#include stdio.h
#include string.h
#include time.h
int main()
{
struct tm t;
char str[80];
t.tm_sec=1;
t.tm_min=3;
t.tm_hour=7;
t.tm_mday=22;
t.tm_mon=11;
t.tm_year=56;
t.tm_wday=4;
t.tm_yday=0;
t.tm_isdst=0;
strcpy(str,asctime(t));
printf("%s",str);
return 0;
}
@函數(shù)名稱: ctime
函數(shù)原型: char *ctime(long time)
函數(shù)功能: 得到日歷時間
函數(shù)返回: 返回字符串格式:星期,月,日,小時:分:秒,年
參數(shù)說明: time-該參數(shù)應(yīng)由函數(shù)time獲得
所屬文件: time.h
#include stdio.h
#include time.h
int main()
{
time_t t;
time(t);
printf("Today's date and time: %s",ctime(t));
return 0;
}
@函數(shù)名稱: difftime
函數(shù)原型: double difftime(time_t time2, time_t time1)
函數(shù)功能: 得到兩次機(jī)器時間差,單位為秒
函數(shù)返回: 時間差,單位為秒
參數(shù)說明: time1-機(jī)器時間一,time2-機(jī)器時間二.該參數(shù)應(yīng)使用time函數(shù)獲得
所屬文件: time.h
#include time.h
#include stdio.h
#include dos.h
#include conio.h
int main()
{
time_t first, second;
clrscr();
first=time(NULL);
delay(2000);
second=time(NULL);
printf("The difference is: %f seconds",difftime(second,first));
getch();
return 0;
}
@函數(shù)名稱: gmtime
函數(shù)原型: struct tm *gmtime(time_t *time)
函數(shù)功能: 得到以結(jié)構(gòu)tm表示的時間信息
函數(shù)返回: 以結(jié)構(gòu)tm表示的時間信息指針
參數(shù)說明: time-用函數(shù)time()得到的時間信息
所屬文件: time.h
#include stdio.h
#include stdlib.h
#include time.h
#include dos.h
char *tzstr="TZ=PST8PDT";
int main()
{
time_t t;
struct tm *gmt, *area;
putenv(tzstr);
tzset();
t=time(NULL);
area=localtime(t);
printf("Local time is:%s", asctime(area));
gmt=gmtime(t);
printf("GMT is:%s", asctime(gmt));
return 0;
}
@函數(shù)名稱: time
函數(shù)原型: time_t time(time_t *timer)
函數(shù)功能: 得到機(jī)器的日歷時間或者設(shè)置日歷時間
函數(shù)返回: 機(jī)器日歷時間
參數(shù)說明: timer=NULL時得到機(jī)器日歷時間,timer=時間數(shù)值時,用于設(shè)置日歷時間,time_t是一個long類型
所屬文件: time.h
#include time.h
#include stdio.h
#include dos.h
int main()
{
time_t t;
t=time();
printf("The number of seconds since January 1,1970 is %ld",t);
return 0;
}
@函數(shù)名稱: tzset
函數(shù)原型: void tzset(void)
函數(shù)功能: UNIX兼容函數(shù),用于得到時區(qū),在DOS環(huán)境下無用途
函數(shù)返回:
參數(shù)說明:
所屬文件: time.h
#include time.h
#include stdlib.h
#include stdio.h
int main()
{
time_t td;
putenv("TZ=PST8PDT");
tzset();
time(td);
printf("Current time=%s",asctime(localtime(td)));
return 0;
}
1、time_t // 時間類型(time.h 定義)?
struct tm { // 時間結(jié)構(gòu),time.h 定義如下:?
int tm_sec;?
int tm_min;?
int tm_hour;?
int tm_mday;?
int tm_mon;?
int tm_year;?
int tm_wday;?
int tm_yday;?
int tm_isdst;?
}?
time ( rawtime ); // 獲取時間,以秒計,從1970年1月一日起算,存于rawtime?
localtime ( rawtime ); //轉(zhuǎn)為當(dāng)?shù)貢r間,tm 時間結(jié)構(gòu)?
asctime() // 轉(zhuǎn)為標(biāo)準(zhǔn)ASCII時間格式:?
//就是直接打印tm,tm_year 從1900年計算,所以要加1900,月tm_mon,從0計算,所以要加1
2、time函數(shù)使用示例
#include?stdio.h??
#include?time.h????
int?main()
{??
time_t?rawtime;??
struct?tm?*?timeinfo;??
time?(?rawtime?);??
timeinfo?=?localtime?(?rawtime?);??
printf?(?"The?current?date/time?is:?%s",?asctime?(timeinfo)?);??
return?0;
}
C語言time(NULL)是以當(dāng)前時間為種子,產(chǎn)生隨意數(shù)。
其中,time(NULL)用來獲取當(dāng)前時間,本質(zhì)上得到的是一個大整數(shù),然后用這個數(shù)來隨機(jī)數(shù)。
time()這個函數(shù)其實(shí)保存的是一個歷史時間,所以需要用NULL把這個歷史時間清空一下,time()就會自動保存當(dāng)前時間了。你可以簡單的理解為NULL就是給time()初始化。
c語言調(diào)用time()函數(shù)括號里為什么要用NULL?
time是這樣聲明的:time_ttime(time_t*timer)
用法是你先自己定義一個time_t變量,讓后把變量的地址傳給它。函數(shù)會返回自1970年1月1日0點(diǎn)走過的秒數(shù),同時把這個返回值保存在你傳進(jìn)來的那個time_t*指向的變量里面
如果你傳進(jìn)來NULL的話,就不保存。