c語言日期推移函數(shù) c語言日期相減

C語言中系統(tǒng)時(shí)間函數(shù)是怎么用的??

1、C語言中讀取系統(tǒng)時(shí)間的函數(shù)為time(),其函數(shù)原型為:

創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站和四川服務(wù)器托管的網(wǎng)絡(luò)公司,有著豐富的建站經(jīng)驗(yàn)和案例。

#include time.h

time_t time( time_t * ) ;

time_t就是long,函數(shù)返回從1970年1月1日(MFC是1899年12月31日)0時(shí)0分0秒,到現(xiàn)在的的秒數(shù)。

2、C語言還提供了將秒數(shù)轉(zhuǎn)換成相應(yīng)的時(shí)間格式的函數(shù):

char * ctime(const time_t *timer); //將日歷時(shí)間轉(zhuǎn)換成本地時(shí)間,返回轉(zhuǎn)換后的字符串指針 可定義字符串或是字符指針來接收返回值

struct tm * gmtime(const time_t *timer); //將日歷時(shí)間轉(zhuǎn)化為世界標(biāo)準(zhǔn)時(shí)間(即格林尼治時(shí)間),返回結(jié)構(gòu)體指針 可定義struct tm *變量來接收結(jié)果

struct tm * localtime(const time_t * timer); //將日歷時(shí)間轉(zhuǎn)化為本地時(shí)間,返回結(jié)構(gòu)體指針 可定義struct tm *變量來接收結(jié)果

3、例程:

#include?time.h

void?main()

{

time_t?t;

struct?tm?*pt?;

char?*pc?;

time(t);

pc=ctime(t)?;?printf("ctime:%s",?pc?);

pt=localtime(t)?;?printf("year=%d",?pt-tm_year+1900?);

}

//時(shí)間結(jié)構(gòu)體struct?tm?說明:

struct?tm?{

int?tm_sec;?/*?秒?–?取值區(qū)間為[0,59]?*/

int?tm_min;?/*?分?-?取值區(qū)間為[0,59]?*/

int?tm_hour;?/*?時(shí)?-?取值區(qū)間為[0,23]?*/

int?tm_mday;?/*?一個(gè)月中的日期?-?取值區(qū)間為[1,31]?*/

int?tm_mon;?/*?月份(從一月開始,0代表一月)?-?取值區(qū)間為[0,11]?*/

int?tm_year;?/*?年份,其值等于實(shí)際年份減去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;?/*?夏令時(shí)標(biāo)識(shí)符,實(shí)行夏令時(shí)的時(shí)候,tm_isdst為正。不實(shí)行夏令時(shí)的進(jìn)候,tm_isdst為0;不了解情況時(shí),tm_isdst()為負(fù)。*/

};

C語言的時(shí)間函數(shù)

C語言的建時(shí)間函數(shù)是 mktime(),原型在 time.h 里

調(diào)用有點(diǎn)繁。

下面,用我的程序輸入 年月日時(shí)分秒,調(diào)用mktime(), 就得 C語言 可直接使用的 時(shí)間, 存放在 t 里。

例如 輸入年月日時(shí)分秒: 2008 8 16 9 55 25

time_t t; 里 就有了 各種時(shí)間信息,例如星期幾...

#include stdio.h

#include time.h

void main(){

struct tm *target_time;

time_t rawtime, t;

int year,month,mday,hh,mm,ss;

time ( rawtime );

target_time = localtime ( rawtime );

printf("Please enter year month day hour minute second\n");

printf("For example: \n");

printf("2008 8 16 9 55 25\n");

scanf("%d %d %d %d %d %d", year, month, mday, hh,mm,ss);

target_time-tm_year = year - 1900;

target_time-tm_mon= month - 1;

target_time-tm_mday = mday ;

target_time-tm_hour = hh ;

target_time-tm_min = mm ;

target_time-tm_sec = ss ;

//

t = mktime (target_time);

// t is ready to use

printf("%s ",ctime(t));

}

C語言判斷兩個(gè)日期的前后問題

if(dt1.year!=dt2.year)

{

if(dt1.yeardt2.year)?return?1;????????????????????//判斷年相等否

if(dt1.yeardt2.year)?return?-1;

}

比如這里,如果兩個(gè)year相等,就沒有返值(當(dāng)然,這是編譯器的判斷邏輯),編譯器不會(huì)根據(jù)你上下文去統(tǒng)計(jì)邏輯的,因此會(huì)認(rèn)為你if有返值,沒有else語句中的返值。你將兩個(gè)邏輯中的連續(xù)if改成if ?else應(yīng)該就沒問題了。

其實(shí),如果年月日的規(guī)則是嚴(yán)格的,那么語句不用這么麻煩,直接判斷

year*365+month*30+day 的大小即可判定兩個(gè)日期的關(guān)系了。

c語言 時(shí)間函數(shù)

c語言時(shí)間函數(shù):

1、獲得日歷時(shí)間函數(shù):

可以通過time()函數(shù)來獲得日歷時(shí)間(Calendar Time),其原型為:time_t time(time_t * timer);

如果已經(jīng)聲明了參數(shù)timer,可以從參數(shù)timer返回現(xiàn)在的日歷時(shí)間,同時(shí)也可以通過返回值返回現(xiàn)在的日歷時(shí)間,即從一個(gè)時(shí)間點(diǎn)(例如:1970年1月1日0時(shí)0分0秒)到現(xiàn)在此時(shí)的秒數(shù)。如果參數(shù)為空(NUL),函數(shù)將只通過返回值返回現(xiàn)在的日歷時(shí)間,比如下面這個(gè)例子用來顯示當(dāng)前的日歷時(shí)間:

2、獲得日期和時(shí)間函數(shù):

這里說的日期和時(shí)間就是平時(shí)所說的年、月、日、時(shí)、分、秒等信息。從第2節(jié)我們已經(jīng)知道這些信息都保存在一個(gè)名為tm的結(jié)構(gòu)體中,那么如何將一個(gè)日歷時(shí)間保存為一個(gè)tm結(jié)構(gòu)的對(duì)象呢?

其中可以使用的函數(shù)是gmtime()和localtime(),這兩個(gè)函數(shù)的原型為:

struct tm * gmtime(const time_t *timer);

struct tm * localtime(const time_t * timer);

其中g(shù)mtime()函數(shù)是將日歷時(shí)間轉(zhuǎn)化為世界標(biāo)準(zhǔn)時(shí)間(即格林尼治時(shí)間),并返回一個(gè)tm結(jié)構(gòu)體來保存這個(gè)時(shí)間,而localtime()函數(shù)是將日歷時(shí)間轉(zhuǎn)化為本地時(shí)間。比如現(xiàn)在用gmtime()函數(shù)獲得的世界標(biāo)準(zhǔn)時(shí)間是2005年7月30日7點(diǎn)18分20秒,那么用localtime()函數(shù)在中國地區(qū)獲得的本地時(shí)間會(huì)比世界標(biāo)準(zhǔn)時(shí)間晚8個(gè)小時(shí),即2005年7月30日15點(diǎn)18分20秒。

當(dāng)前名稱:c語言日期推移函數(shù) c語言日期相減
鏈接分享:http://bm7419.com/article10/ddcohdo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、網(wǎng)站維護(hù)品牌網(wǎng)站建設(shè)網(wǎng)站設(shè)計(jì)、用戶體驗(yàn)Google

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)