计算 两日期 间隔天数 zzuli1878

#include<iostream>
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#include<ctype.h>
#include<algorithm>
using namespace std;
#define N 1010000
#define INF 0x3f3f3f3f

int yearday[N];

int IsLeap(int year) ///判断闰年
{
    return ((year%4==0&&year%100!=0) || year%400==0);
}

void init()
{
    yearday[0]=0;
    for(int i=1; i<=1000000; i++)
        yearday[i]=yearday[i-1]+(IsLeap(i-1)==1 ? 366 : 365);
}

int Day(int y,int m,int d) ///判断该天是当年的第多少天。
{
    int k,leap;
    int tab[2][13]={{0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},
    {0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}};

leap=IsLeap(y);

for(k=1;k<m;k++)
    {
        d=d+tab[leap][k];
    }

return d;
}

int main()
{
    int T, y1, m1, d1, y2, m2, d2, sum;

init();
    scanf("%d", &T);

while(T--)
    {
        scanf("%d%d%d%d%d%d", &y1, &m1, &d1, &y2, &m2, &d2);
        sum=0;

sum+=yearday[y2]-yearday[y1];
        sum-=Day(y1,m1,d1);
        sum+=Day(y2,m2,d2);
        printf("%d\n", sum);

}
    return 0;
}

时间: 2024-10-09 09:20:01

计算 两日期 间隔天数 zzuli1878的相关文章

java计算两日期间隔小时或分钟

public static void main(String[] args) {        try {            long min = dateDiff("2014-05-27 13:30:00","2014-05-27 13:00:00","yyyy-MM-dd HH:mm:ss");            System.out.println("---------相隔分钟数: "+min);        

PHP 计算两个日期间隔天数

PHP 计算两个日期间隔天数,可以使用date_diff( )函数: <?php $datetime1 = date_create('2009-10-11'); $datetime2 = date_create('2009-10-13'); $interval = date_diff($datetime1, $datetime2); echo $interval->format('%R%a days'); ?> 浏览器输出结果:

MySql计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数

MySql计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数 计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数,这里主要分享的是通过MySql内置的函数 TimeStampDiff() 实现. 函数 TimeStampDiff() 是MySQL本身提供的可以计算两个时间间隔的函数,语法为: TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2) 返回日期或日期时间表达式datetime_expr1 和datetime_expr2the 之

关于计算两日期之间经过多少天的超巧妙算法

首先声明:本文引自一博主原创博客 原创地址:https://blog.csdn.net/chinaeran/article/details/43601699 昨天呢,刚刚阅读了这个代码,大部分都还可以看懂,有一两个地方属实难懂,但细细思来,方知博主此代码超神奇.简直巧妙至极. 所以来细细解析一下此代码. 话不多说.我们先来看一下原文. #include <stdio.h>#include <stdlib.h> int day_diff(int year_start, int mon

C语言计算日期间隔天数的经典算法解析

在网上看到了一个计算日期间隔的方法,咋一看很高深,仔细看更高神,很巧妙. 先直接代码吧 #include <stdio.h> #include <stdlib.h> int day_diff(int year_start, int month_start, int day_start , int year_end, int month_end, int day_end) { int y2, m2, d2; int y1, m1, d1; m1 = (month_start + 9)

JS实现——计算两日期之差

在网上找了个js实现的,根据相差天数计算日期和根据两个日期计算相差多少天的示例和代码: 根据相差天数计算日期: 距离: 年 月 日 (缺省为今天) 相差: 天 (输入负数则往前计算) 日期是:   根据日期计算相差天数: 开始日期: 年 月 日 结束日期: 年 月 日 相差天数:   实现代码如下: <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content=&qu

Java 比较两日期相差天数

(版本1) publicstaticint getIntervalDays(Date fDate, Date oDate) { if (null == fDate || null == oDate) { return -1; } long intervalMilli = oDate.getTime() - fDate.getTime(); return (int) (intervalMilli / (24 * 60 * 60 * 1000)); }       (版本2) publicstati

java计算两个日期之间相隔的天数

1 import java.text.ParseException; 2 import java.text.SimpleDateFormat; 3 import java.util.Calendar; 4 import java.util.Date; 5 6 7 public class date { 8 9 /** 10 * @param args 11 * @throws ParseException 12 */ 13 public static void main(String[] arg

25:计算两个日期之间的天数

25:计算两个日期之间的天数 查看 提交 统计 提问 总时间限制:  1000ms 内存限制:  65536kB 描述 给定两个日期,计算相差的天数.比如2010-1-1和2010-1-3相差2天. 输入 共两行:第一行包含三个整数startYear,startMonth,startDay,分别是起始年.月.日.第二行包含三个整数endYear,endMonth,endDay,分别是结束年.月.日.相邻两个整数之间用单个空格隔开. 年份范围在1~3000.保证日期正确且结束日期不早于起始日期.