c语言日期函数计算器 c语言编程日期

C语言中有没有能显示系统日期和时间的函数?

C语言中读取系统时间的函数为time(),其函数原型为:

在岳塘等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站建设、网站制作 网站设计制作按需网站开发,公司网站建设,企业网站建设,品牌网站设计,全网营销推广,成都外贸网站建设公司,岳塘网站建设费用合理。

#include time.h

time_t time( time_t * ) ;

time_t就是long,函数返回从1970年1月1日(MFC是1899年12月31日)0时0分0秒,到现在的的秒数。可以调用ctime()函数进行时间转换输出:

char * ctime(const time_t *timer);

将日历时间转换成本地时间,按年月日格式,进行输出,如:

Wed Sep 23 08:43:03 2015

C语言还提供了将秒数转换成相应的时间结构的函数:

struct tm * gmtime(const time_t *timer); //将日历时间转化为世界标准时间(即格林尼治时间)

struct tm * localtime(const time_t * timer); //将日历时间转化为本地时间

将通过time()函数返回的值,转换成时间结构struct tm :

struct tm {

int tm_sec; /* 秒 – 取值区间为[0,59] */

int tm_min; /* 分 - 取值区间为[0,59] */

int tm_hour; /* 时 - 取值区间为[0,23] */

int tm_mday; /* 一个月中的日期 - 取值区间为[1,31] */

int tm_mon; /* 月份(从一月开始,0代表一月) - 取值区间为[0,11] */

int tm_year; /* 年份,其值等于实际年份减去1900 */

int tm_wday; /* 星期 – 取值区间为[0,6],其中0代表星期天,1代表星期一,以此类推 */

int tm_yday; /* 从每年的1月1日开始的天数 – 取值区间为[0,365],其中0代表1月1日,1代表1月2日,以此类推 */

int tm_isdst; /* 夏令时标识符,实行夏令时的时候,tm_isdst为正。不实行夏令时的进候,tm_isdst为0;不了解情况时,tm_isdst()为负。*/

};

编程者可以根据程序功能的情况,灵活的进行日期的读取与输出了。

例如:

#includetime.h

main()

{

time_t timep;

struct tm *p;

time (timep);

p=gmtime(timep);

printf("%d\n",p-tm_sec); /*获取当前秒*/

printf("%d\n",p-tm_min); /*获取当前分*/

printf("%d\n",8+p-tm_hour);/*获取当前时,这里获取西方的时间,刚好相差八个小时*/

printf("%d\n",p-tm_mday);/*获取当前月份日数,范围是1-31*/

printf("%d\n",1+p-tm_mon);/*获取当前月份,范围是0-11,所以要加1*/

printf("%d\n",1900+p-tm_year);/*获取当前年份,从1900开始,所以要加1900*/

printf("%d\n",p-tm_yday); /*从今年1月1日算起至今的天数,范围为0-365*/

}

C语言计算时间函数

标准库的time.h里有时间函数

time_t time (time_t *timer)

计算从1970年1月1日到当前系统时间,并把结果返回给timer变量,

函数本身返回的也是这个结果.time_t这个类型其实就是一个int.

另有:

double difftime ( time_t timer2, time_t timer1 )

把返回time2和time1所储存的时间的差.

用c语言编写一个能输出现在日期和时间的函数puttime()

如果用 time.h的话,就太简单了,有专门的处理函数:

#include "time.h"

#include "stdio.h"

void puttime()

{

tm *ptr;

time_t lt;

lt=time(NULL);

ptr=localtime(lt);

printf(asctime(ptr));

}

int main()

{

puttime();

return 0;

}

什么时候运行,就显示是什么时间:

我运行时:星期三   1月   15号     时间   年

C语言编程日期计算

#include stdio.h

#include windows.h

/* 以公元阳历来计算(非农历) */

int _MONTH[]={{31},{28},{31},{30},{31},{30},{31},{31},{30},{31},{30},{31}};

int days(int *m,int *day)

{

int i,md=0;

unsigned int d;

for(i=0;i(*m-1)(i11);i++)

md=md+_MONTH[i];

d=md+(*day);

return (int)((d+365)-365);

}

void main()

{

int month,day;

RESET:

month=day=1;

printf("月份:");

scanf("%d",month);

printf("日期:");

scanf("%d",day);

while((month1||month12)||(day1||day31))

{

  printf("月份或日期有误,请重新输入!\n");

  fflush(stdin);

  Sleep(3000);

  goto RESET;

}

printf("今天是今年的第%d天\n",days(month,day));

}

月份与日期是用户输入接受来的,如果你想一运行就显示当前日期是今年的第几天。你可以使用time.h头文件里的有关函数来获取。获取后你只需将将强制转换为int型即可带入实参。具体如何获取网上有很多成熟的例子。

这个例子的实现原理与日历实现的原理一样:

如日历的原理如下截图:


当前标题:c语言日期函数计算器 c语言编程日期
当前地址:http://pwwzsj.com/article/doigsih.html