#includetime.h
創(chuàng)新互聯(lián)公司是一家專業(yè)提供仁化企業(yè)網(wǎng)站建設(shè),專注與做網(wǎng)站、成都做網(wǎng)站、H5技術(shù)、小程序制作等業(yè)務(wù)。10年已為仁化眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進(jìn)行中。
int main()
{
time_t timep;
struct tm *p;
time (timep);
p=gmtime(timep);
printf("%d\n",p-tm_sec); /*獲取當(dāng)前秒*/
printf("%d\n",p-tm_min); /*獲取當(dāng)前分*/
printf("%d\n",8+p-tm_hour);/*獲取當(dāng)前時,這里獲取西方的時間,剛好相差八個小時*/
printf("%d\n",p-tm_mday);/*獲取當(dāng)前月份日數(shù),范圍是1-31*/
printf("%d\n",1+p-tm_mon);/*獲取當(dāng)前月份,范圍是0-11,所以要加1*/
printf("%d\n",1900+p-tm_year);/*獲取當(dāng)前年份,從1900開始,所以要加1900*/
printf("%d\n",p-tm_yday); /*從今年1月1日算起至今的天數(shù),范圍為0-365*/
}
拓展資料:
C語言是一門通用計算機(jī)編程語言,廣泛應(yīng)用于底層開發(fā)。C語言的設(shè)計目標(biāo)是提供一種能以簡易的方式編譯、處理低級存儲器、產(chǎn)生少量的機(jī)器碼以及不需要任何運(yùn)行環(huán)境支持便能運(yùn)行的編程語言。
盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平臺的特性,以一個標(biāo)準(zhǔn)規(guī)格寫出的C語言程序可在許多電腦平臺上進(jìn)行編譯,甚至包含一些嵌入式處理器(單片機(jī)或稱MCU)以及超級電腦等作業(yè)平臺。
二十世紀(jì)八十年代,為了避免各開發(fā)廠商用的C語言語法產(chǎn)生差異,由美國國家標(biāo)準(zhǔn)局為C語言制定了一套完整的美國國家標(biāo)準(zhǔn)語法,稱為ANSI C,作為C語言最初的標(biāo)準(zhǔn)。目前2011年12月8日,國際標(biāo)準(zhǔn)化組織(ISO)和國際電工委員會(IEC)發(fā)布的C11標(biāo)準(zhǔn)是C語言的第三個官方標(biāo)準(zhǔn),也是C語言的最新標(biāo)準(zhǔn),該標(biāo)準(zhǔn)更好的支持了漢字函數(shù)名和漢字標(biāo)識符,一定程度上實現(xiàn)了漢字編程。
C語言是一門面向過程的計算機(jī)編程語言,與C++,Java等面向?qū)ο蟮木幊陶Z言有所不同。
其編譯器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。
參考資料:C語言_百度百科
1、C語言中讀取系統(tǒng)時間的函數(shù)為time(),其函數(shù)原型為:\x0d\x0a#include \x0d\x0atime_t time( time_t * ) ;\x0d\x0atime_t就是long,函數(shù)返回從1970年1月1日(MFC是1899年12月31日)0時0分0秒,到現(xiàn)在的的秒數(shù)。\x0d\x0a2、C語言還提供了將秒數(shù)轉(zhuǎn)換成相應(yīng)的時間格式的函數(shù):\x0d\x0a char * ctime(const time_t *timer); //將日歷時間轉(zhuǎn)換成本地時間,返回轉(zhuǎn)換后的字符串指針 可定義字符串或是字符指針來接收返回值\x0d\x0a struct tm * gmtime(const time_t *timer); //將日歷時間轉(zhuǎn)化為世界標(biāo)準(zhǔn)時間(即格林尼治時間),返回結(jié)構(gòu)體指針 可定義struct tm *變量來接收結(jié)果\x0d\x0a struct tm * localtime(const time_t * timer); //將日歷時間轉(zhuǎn)化為本地時間,返回結(jié)構(gòu)體指針 可定義struct tm *變量來接收結(jié)果\x0d\x0a3、例程:\x0d\x0a#include \x0d\x0avoid main()\x0d\x0a{\x0d\x0a time_t t;\x0d\x0a struct tm *pt ;\x0d\x0a char *pc ;\x0d\x0a time(t);\x0d\x0a pc=ctime(t) ; printf("ctime:%s", pc );\x0d\x0a pt=localtime(t) ; printf("year=%d", pt-tm_year+1900 );\x0d\x0a}\x0d\x0a\x0d\x0a時間結(jié)構(gòu)體struct tm 說明:\x0d\x0a\x0d\x0astruct tm { \x0d\x0a int tm_sec; /* 秒 _ 取值區(qū)間為[0,59] */ \x0d\x0a int tm_min; /* 分 - 取值區(qū)間為[0,59] */ \x0d\x0a int tm_hour; /* 時 - 取值區(qū)間為[0,23] */ \x0d\x0a int tm_mday; /* 一個月中的日期 - 取值區(qū)間為[1,31] */ \x0d\x0a int tm_mon; /* 月份(從一月開始,0代表一月) - 取值區(qū)間為[0,11] */ \x0d\x0a int tm_year; /* 年份,其值等于實際年份減去1900 */ \x0d\x0a int tm_wday; /* 星期 _ 取值區(qū)間為[0,6],其中0代表星期天,1代表星期一,以此類推 */ \x0d\x0a int tm_yday; /* 從每年的1月1日開始的天數(shù) _ 取值區(qū)間為[0,365],其中0代表1月1日,1代表1月2日,以此類推 */ \x0d\x0a int tm_isdst; /* 夏令時標(biāo)識符,實行夏令時的時候,tm_isdst為正。不實行夏令時的進(jìn)候,tm_isdst為0;不了解情況時,tm_isdst()為負(fù)。*/ \x0d\x0a};
#include?stdio.h?
#include?time.h?
int?main()
{?
time_t?rawtime;?
struct?tm?*?timeinfo;?
time?(?rawtime?);?
timeinfo?=?localtime?(?rawtime?);?
printf?(?"當(dāng)前系統(tǒng)時間:?%s",?asctime?(timeinfo)?);?
return?0;
}
說明:
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
time是C語言獲取當(dāng)前系統(tǒng)時間的函數(shù),以秒作單位,代表當(dāng)前時間自Unix標(biāo)準(zhǔn)時間戳(1970年1月1日0點(diǎn)0分0秒,GMT)經(jīng)過了多少秒。
形式為time_t time(time_t * t);
該函數(shù)提供兩種返回方式,返回值,和指針參數(shù)。
可以根據(jù)需要選擇。當(dāng)參數(shù)t為空指針(NULL)時,只返回值。
而NULL的定義是(void *) 0, 所以time(0)也就是time(NULL)的另一種寫法,表示只通過返回值獲取時間值。
擴(kuò)展資料:
time函數(shù)
函數(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定義如下:
#ifndef _TM_DEFINED
struct tm {
int tm_sec; /* 秒 – 取值區(qū)間為[0,59] */
int tm_min; /* 分 - 取值區(qū)間為[0,59] */
int tm_hour; /* 時 - 取值區(qū)間為[0,23] */
int tm_mday; /* 一個月中的日期 - 取值區(qū)間為[1,31] */
int tm_mon; /* 月份(從一月開始,0代表一月) - 取值區(qū)間為[0,11] */
int tm_year; /* 年份,其值等于實際年份減去1900 */
int tm_wday; /* 星期 – 取值區(qū)間為[0,6],其中0代表星期天,1代表星期一,以此類推 */
int tm_yday; /* 從每年的1月1日開始的天數(shù) – 取值區(qū)間為[0,365],其中0代表1月1日,1代表1月2日,以此類推 */
int tm_isdst; /* 夏令時標(biāo)識符,實行夏令時的時候,tm_isdst為正。不實行夏令時的進(jìn)候,tm_isdst為0;不了解情況時,tm_isdst()為負(fù)。*/
};
#define _TM_DEFINED
#endif
參數(shù)說明: timer-使用time()函數(shù)獲得的機(jī)器時間
參考資料來源:百度百科-time.h