题目描述

有两个日期,求两个日期之间的天数,如果两个日期是连续的我们规定他们之间的天数为两天。

输入格式

有多组数据,每组数据有两行,分别表示两个日期,形式为YYYYMMDD。

输出格式

每组数据输出一行,即日期差值。

样例:">输入样例:

20130101
20130105

输出样例:

5

思路:相当于用小的日期,一直自增,直至等于大的日期。因为题目“如果两个日期是连续的我们规定他们之间的天数为两天” ,设置count初始值为1。构造isleap函数()判断该年是否是闰年,用二维数组存储不同年份每个月的时间,用isleap函数()的返回值作为数组列数值,得到该年份,某月的月份。

平年 闰年
1 31 31
2 29 28
3 31 31
4 30 30
5 31 31
6 30 30
7 31 31
8 31 31
9 30 30
10 31 31
11 30 30
12 31 31

代码:

#include<iostream>
using namespace std;
int isleap(int y) {return ((y % 100 != 0 && y % 4 == 0) || (y % 400 == 0));
}
int main() {int time1, y1, m1, d1;int time2, y2, m2, d2;int count = 1;int m[12][2] = { {31,31},{29,28},{31,31},{30,30},{31,31},{30,30},{31,31},{31,31},{30,30},{31,31},{30,30},{31,31} };cin >> time1 >> time2;if (time1 < time2) {int temp = time2;time2 = time1;time1 = temp;}y1 = time1 / 10000;y2 = time2 / 10000;m1 = (time1 % 10000) / 100;m2 = (time2 % 10000) / 100;d1 = (time1 % 1000000);d2 = (time2 % 1000000);while (y1 > y2 || m1 > m2 || d1 > d2) {d2++;count++;if (d2 == m[m1 - 1][isleap(y1)] + 1) {m2++;d2 = 1;}if (m2 == 13) {y2++;m2 = 1;}}cout << count;return 0;
}

注:本篇算法思路来源于胡凡、曾磊主编《算法笔记》

【Codeup1928 】日期差值相关推荐

  1. (C++)设计一个程序能计算一个日期加上若干天后是什么日期and计算日期差值

    输入第一行表示样例个数m,接下来m行每行四个整数分别表示年月日和累加的天数. 输出m行,每行按yyyy-mm-dd的个数输出. #include<cstdio>//判断是否是闰年 bool ...

  2. Android 获取当前日期距离过期时间的日期差值的完整方法直接使用

    /*** * 获取当前日期距离过期时间的日期差值 * @param endTime * @return */public String dateDiff(String endTime) { Strin ...

  3. B1928 日期差值

    1 /* 2 题目描述 3 4 有两个日期,求两个日期之间的天数,如果两个日期是连续的,则规定它们之间的天数为两天. 5 输入格式 6 7 有多组数据,每组数据有两行,分别表示两个日期,形式为YYYY ...

  4. code1928: 日期差值 技巧模拟

    1928: 日期差值 时间限制: 1 Sec 内存限制: 32 MB 题目描述 有两个日期,求两个日期之间的天数,如果两个日期是连续的我们规定他们之间的天数为两天. 输入 有多组数据,每组数据有两行, ...

  5. 日期处理——日期差值

    题目描述 有两个日期,求两个日期之间的天数,如果两个日期是连续的我们规定他们之间的天数为两天. 输入 有多组数据,每组数据有两行,分别表示两个日期,形式为YYYYMMDD 输出 每组数据输出一行,即日 ...

  6. 【日期类问题】例2.1日期差值

    二 日期类问题 此类问题解题思路: 定一个锚点日期,如0年1月1日,先算出往后多少年内每一日子距离这个锚点的天数,例如要算两个日期间天数时,便可以将两个日期距离锚点日期之间的天数相减,即可得到. 题目 ...

  7. JS-计算日期差值;计算日期之间的月数

    计算两天之间的日期差值 // 输入格式:yyyy-MM-DD function daysBetween(sDate1, sDate2) {//Date.parse() 解析一个日期时间字符串,并返回1 ...

  8. lua 计算日期差值 计算时间戳日期差

    lua 计算日期差值 背景:最近接触的项目在用lua所以也来发一个 可能其他朋友需要的function 不废话 ,上代码,需要的小伙伴拿去吧,如果还有小伙伴有更好的方案可以. 此方案也是从网络上搜到的 ...

  9. 考研机试真题 日期差值 模拟

    考研机试真题 日期差值 模拟 注意方法二中sscanf的用法 方法一: #include<cstdio> #include<cmath> #include<iostrea ...

最新文章

  1. 斯隆奖获得者李婧翌:AI+X并非总是有效,生物数据量小、噪音大,可解释性是关键...
  2. 小马拉大车,无线网络优化
  3. Java高新技术第一篇:类加载器详解
  4. 【知识】OpenStack计算设施----Nova
  5. mycat1.4.1小白用户入门(一)
  6. Discuz注册页面的邮箱验证代码分析
  7. 程序员职场突破——建立优势策略,找到职业突破发力点
  8. php rrd update,通过shell脚本批量更新Cacti的RRD数据库文件
  9. urho3d中3d音效SoundSource3D使用的注意
  10. 用xpath解析网页
  11. 本周最新文献速递20220306
  12. 推进全息智慧情报研判,助力构建现代交通安全防控体系
  13. OSG 添加文字(显示中英文)
  14. vue路由守卫beforeEach和afterEach
  15. 数字IC面试手撕代码(一)
  16. 制定战略方法必不可少的三个步骤
  17. 17个案例印证5大生死逻辑
  18. 透视RPC协议:SOFA-BOLT协议源码分析
  19. 一款强大的浏览器翻译插件 - 沉浸式的翻译
  20. NLP电子病历后结构化软件系统对临床决策支持系统(CDSS)的支持(结构化数据的必要性)

热门文章

  1. php 连等,Phpstorm,xdebug和vagrant仍在等待传入连接
  2. 计算机控制技术在自动驾驶应用分析,计算机视觉在自动驾驶中的应用探讨
  3. 用聚宽量化炒股-5获取数据函数-5)获取当前时间股票数据函数get_current_data、查询股票所属行业get_industry
  4. Android O 前期预研之三:Android Vehicle HAL
  5. 动态改变eachers图表高_雅思阅读真题解析pdf
  6. 自己动手,0元维修打印机--HP1566打印机连续走纸时卡纸故障维修
  7. Axure实现唯一性选择元件
  8. 图像算法一 —— 相机畸变及其数学模型
  9. 支付宝手机网页支付java demo调试问题和解决办法
  10. 大型门户网站推广的方法