C语言编程日期计算

C语言编程日期计算,第1张

#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=0i<(*m-1)&&(i<11)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((month<1||month>12)||(day<1||day>31))

   {

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

  fflush(stdin)

  Sleep(3000)

  goto RESET

   }

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

}

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

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

如日历的原理如下截图:

算日期天数的公式是如下:

*** 作设备:戴尔笔记本电脑

*** 作系统:win10

*** 作程序:Excel2017

1、打开Excel,分别填入起始日期和截止日期,如下图所示。

2、任意选中一个Excel单元格,输入公式,输入等于号,用截止日期减去起始日期,如下图所示。

3、输入公式后,直接点击确定即可计算两个日期的天数,注意,一定要用大的日期减去小的日期,不然会出现问题;你也可以直接修改时间,公式会自动计算天数,如下图所示。

第一种是以毫秒为单位计算的。

[java] view plaincopy

//伪代码

long startTime=System.currentTimeMillis() //获取开始时间

doSomeThing() //测试的代码段

long endTime=System.currentTimeMillis()//获取结束时间

System.out.println("程序运行时间: "+(end-start)+"ms")

第二种是以纳秒为单位计算的。

[java] view plaincopy

//伪代码

long startTime=System.nanoTime() //获取开始时间

doSomeThing() //测试的代码段

long endTime=System.nanoTime()//获取结束时间

System.out.println("程序运行时间: "+(end-start)+"ns")


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11098647.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-13
下一篇2023-05-13

发表评论

登录后才能评论

评论列表(0条)

    保存