真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

c語言關(guān)于日期的函數(shù) c語言中日期函數(shù)怎么用

在c語言中如何使用系統(tǒng)函數(shù)得到當(dāng)前的日期?

獲得日期和時間

創(chuàng)新互聯(lián)建站專注于劍河網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供劍河營銷型網(wǎng)站建設(shè),劍河網(wǎng)站制作、劍河網(wǎng)頁設(shè)計(jì)、劍河網(wǎng)站官網(wǎng)定制、重慶小程序開發(fā)公司服務(wù),打造劍河網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供劍河網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。

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

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

struct

tm

*

gmtime(const

time_t

*timer);

struct

tm

*

localtime(const

time_t

*

timer);

其中g(shù)mtime()函數(shù)是將日歷時間轉(zhuǎn)化為世界標(biāo)準(zhǔn)時間(即格林尼治時間),并返回一個tm結(jié)構(gòu)體來保存這個時間,而localtime()函數(shù)

是將日歷時間轉(zhuǎn)化為本地時間。比如現(xiàn)在用gmtime()函數(shù)獲得的世界標(biāo)準(zhǔn)時間是2005年7月30日7點(diǎn)18分20秒,那么我用

localtime()函數(shù)在中國地區(qū)獲得的本地時間會比世界標(biāo)準(zhǔn)時間晚8個小時,即2005年7月30日15點(diǎn)18分20秒。下面是個例子:

#include

"time.h"

#include

"stdio.h"

int

main(void)

{

struct

tm

*local;

time_t

t;

t=time(NUL);

local=localtime(t);

printf("Local

hour

is:

%d\n",local-tm_hour);

local=gmtime(t);

printf("UTC

hour

is:

%d\n",local-tm_hour);

return

0;

}

運(yùn)行結(jié)果是:

Local

hour

is:

15

UTC

hour

is:

7

固定的時間格式

我們可以通過asctime()函數(shù)和ctime()函數(shù)將時間以固定的格式顯示出來,兩者的返回值都是char*型的字符串。返回的時間格式為:

星期幾

月份

日期

時:分:秒

年\n{post.content}

例如:Wed

Jan

02

02:03:55

1980\n{post.content}

其中\(zhòng)n是一個換行符,{post.content}是一個空字符,表示字符串結(jié)束。下面是兩個函數(shù)的原型:

Char

*

asctime(const

struct

tm

*

timeptr);

char

*

ctime(const

time_t

*timer);

其中asctime()函數(shù)是通過tm結(jié)構(gòu)來生成具有固定格式的保存時間信息的字符串,而ctime()是通過日歷時間來生成時間字符串。這樣的

話,asctime()函數(shù)只是把tm結(jié)構(gòu)對象中的各個域填到時間字符串的相應(yīng)位置就行了,而ctime()函數(shù)需要先參照本地的時間設(shè)置,把日歷時間轉(zhuǎn)

化為本地時間,然后再生成格式化后的字符串。在下面,如果t是一個非空的time_t變量的話,那么:

printf(ctime(t));

等價于:

struct

tm

*ptr;

ptr=localtime(t);

printf(asctime(ptr));

那么,下面這個程序的兩條printf語句輸出的結(jié)果就是不同的了(除非你將本地時區(qū)設(shè)為世界標(biāo)準(zhǔn)時間所在的時區(qū)):

#include

"time.h"

#include

"stdio.h"

int

main(void)

{

struct

tm

*ptr;

time_t

lt;

lt

=time(NUL);

ptr=gmtime();

printf(asctime(ptr));

printf(ctime());

return

0;

}

運(yùn)行結(jié)果:

Sat

Jul

30

08:43:03

2005

Sat

Jul

30

16:43:03

2005

C語言日期函數(shù)設(shè)計(jì)

#includestdio.h

#includestdlib.h

#includeconio.h

#includetime.h

int days(int year,int month,int day)

{

if(month==1||month==2)//判斷month是否為1或2 

{

year--;

month+=12;

}

int c=year/100;

int y=year-c*100;

int week=(c/4)-2*c+(y+y/4)+(13*(month+1)/5)+day-1;

while(week0)week+=7;

week%=7;

return week;

}

int years(int year)

{

if((year%4==0year%100!=0)||(year%400==0))return 1;

else return 0;

}

int months(int year,int month)

{

switch(month)

{

case 1:case 3:case 5:case 7:case 8:case 10:case 12:return 31;

case 4:case 6:case 9:case 11:return 30;

case 2:if(years(year))return 29;

else return 28;

default:return -1;

}

}

void print(int year,int month)

{

system("cls");

if(year0)printf("公元前");

struct tm *p; //時間結(jié)構(gòu)體

time_t t; //把當(dāng)前時間給t

t=time(NULL); //NULL為0

p=localtime(t);//獲取當(dāng)前系統(tǒng)時間

printf("%d年%d月\n(現(xiàn)在是北京時間%d年%d月%d日周",abs(year),month, 1900+p-tm_year, 1+p-tm_mon, p-tm_mday, p-tm_hour, p-tm_min, p-tm_sec);

if(p-tm_wday==1)printf("一");

else if(p-tm_wday==2)printf("二");

else if(p-tm_wday==3)printf("三");

else if(p-tm_wday==4)printf("四");

else if(p-tm_wday==5)printf("五");

else if(p-tm_wday==6)printf("六");

else if(p-tm_wday==7)printf("日");

printf("%d點(diǎn)%d分%d秒)\n", p-tm_hour, p-tm_min, p-tm_sec);

printf("周日 周一 周二 周三 周四 周五 周六\n");

int i,add=1,place=days(year,month,1);

for(i=1;i=place*5;i++)printf(" ");

int place2=7-place;

for(i=1;i=place2;i++)

{printf("%4d ",add);

add++;

}

printf("\n");

while(add=months(year,month))

{

printf("%4d",add);

add++;

if((add-place2)%7==1)printf("\n");

else printf(" ");

}

printf("\n—\t--:上月 --:下月 \t—\n— Esc:退出 空格:設(shè)置年份 —\n");

}

main()

{

struct tm *local; //時間結(jié)構(gòu)體

time_t t; //把當(dāng)前時間給t

t=time(NULL); //NULL為0

local=localtime(t);//獲取當(dāng)前系統(tǒng)時間

int year=1900+local-tm_year,month=1+local-tm_mon;

char input=0;

print(year,month);

while(1)

{

input=getch();

if(input==27)

{system("cls");

printf("\n\n\t謝謝使用\n 請按任意鍵繼續(xù)...\n");

getch();

exit(0);

}

else if(input==75)

{month--;

if(month=0)

{month=12;if(year(-999))year--;if(year==0)year--;}

}

else if(input==77)

{

month++;

if(month=13)

{month=1;year++;if(year==0)year++;}

}

else if(input==' ')

{

while(1)

{ system("cls");

printf("┌────┐\n");

printf("│SetYear │\n");

printf("│%4d 年 │\n",year);

printf("-,-:switch\n");

printf("Enter:choose\n");

printf("└────┘\n");

switch(getch())

{

case 27:system("cls");

printf("\n\n\t謝謝使用\n 請按任意鍵繼續(xù)...\n");

getch();

exit(0);

case 75:if (year(-999))year--;if(year==0)year--;break;

case 77:year++;if(year==0)year++;break;

case 13:goto end;

}

}

}end:

print(year,month);

}

}

我給你一個我剛編的程序(日歷),供您參考

c語言 時間函數(shù)

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

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

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

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

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

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

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

struct tm * gmtime(const time_t *timer);

struct tm * localtime(const time_t * timer);

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


分享題目:c語言關(guān)于日期的函數(shù) c語言中日期函數(shù)怎么用
文章鏈接:http://weahome.cn/article/hhpicj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部