怎么计算某年的某月某日到某年某月某日多少天

 我来答
outspaceman19
2017-05-12 · TA获得超过1080个赞
知道小有建树答主
回答量:749
采纳率:100%
帮助的人:399万
展开全部

这个问题可以分解为

(y1,m1,d1)到(y2,m2,d2)有多少天转化为(y1,m1,d1)到(1,1,1)的天数-(y2,m2,d2)到(1,1,1)的天数

至于(y,m,d)到(1,1,1)的天数可以参考我这个答案

https://zhidao.baidu.com/question/245140538601498844

#include <stdio.h>
 
int IsLeapYear(int year)    
{   
    return ((year % 4 == 0) && (year % 100 != 0) || year % 400 == 0);   
}
 
int dayOfMonth(int year, int month)
{
    int day = 0;
    switch(month) {
        case 1:
        case 3:
        case 5:
        case 7:
        case 8:
        case 10:
        case 12:
            day = 31;
            break;
        case 2:
            day = 28 + IsLeapYear(year);
            break;
        default:
            day = 30;
            break;
    }
    return day;
}
 
int days(int y, int m, int d)
{
    int i, j;
    int total = 0;
    for(i = 1; i <= y -1;i++)
    {
        //1.1 - 12.23
        for(j = 1;j <= 12;j++)
            total += dayOfMonth(i, j);
    }
    //1 - m-1
    for(j = 1;j <= m-1;j++)
        total += dayOfMonth(y, j);
    total += d;
    return total;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式