如何用C语言计算日期间离天数?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用C语言计算日期间离天数?相关的知识,希望对你有一定的参考价值。
#include <stdio.h>int main(void)
int y1, m1, d1;
int y2, m2, d2;
int i, sum = 0;
int month[12] = 31, 28, 31, 30, 31, 30, 31, 31, 30 ,31, 30 ,31;
/*input two dates*/
scanf("%d%d%d", &y1, &m1, &d1);
scanf("%d%d%d", &y2, &m2, &d2);
/*sum up the year between y1 and y2*/
for (i = y1 + 1; i < y2; ++i)
if (i % 400 == 0 || i % 100 != 0 && i % 4 == 0) sum += 366;
else sum += 365;
/*sum up the remaining days in y1*/
for (i = m1; i < 12; ++i)
sum += month[i];
sum += month[m1 - 1] - d1;
if (m1 <= 2 && (y1 % 400 == 0 || y1 % 100 != 0 && y1 % 4 == 0)) ++sum;
/*sum up the past days in y2*/
for (i = 0; i < m2; ++i)
sum += month[i];
sum += d2;
if (m2 > 2 && (y1 % 400 == 0 || y1 % 100 != 0 && y1 % 4 == 0)) ++sum;
printf("The total days is %d\n", sum);
return 0;
参考技术A 我学C#、Java的,对C不是很了解,仅仅提供个思路:
请问一下C有没有日期函数?有吧应该?
如果有的话,是不是能返回自1970年1月1日起到你输入的日期的毫秒数呢?
能返回的话,你输入的两个时间都换成毫秒数,一减,得到的不就是两个
日期相差的毫秒数?
然后把毫秒数换算成天数不就成了?
如何用c语言来计算日期间隔天数?
如何用c语言来计算日期间隔天数:
比如2006.05.23到2045.12.15间隔天数是多少,任意输入两个日期计算他们的间隔天数,用简单的c语言如何实现啊?
先做一个变量赋全年多少天
再做12个变量代表12个月,再赋每月多少天
然后就可以计算两个日期之间的相隔天数
怎么做不用教了吧 参考技术B 说的不错
以上是关于如何用C语言计算日期间离天数?的主要内容,如果未能解决你的问题,请参考以下文章