25:计算两个日期之间的天数
时间:2022-05-08
本文章向大家介绍25:计算两个日期之间的天数,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
25:计算两个日期之间的天数
总时间限制: 1000ms 内存限制: 65536kB描述
给定两个日期,计算相差的天数。比如2010-1-1和2010-1-3相差2天。
输入共两行: 第一行包含三个整数startYear,startMonth,startDay,分别是起始年、月、日。 第二行包含三个整数endYear,endMonth,endDay,分别是结束年、月、日。 相邻两个整数之间用单个空格隔开。 年份范围在1~3000。保证日期正确且结束日期不早于起始日期。输出输出一个整数,即是两个日期相差的天数。样例输入
2008 1 1
2009 1 1
样例输出
366
提示闰年被定义为能被4整除的年份,但是能被100整除而不能被400整除的年是例外,它们不是闰年。闰年的2月份有29天。
1 #include<iostream>
2 using namespace std;
3 int bgyear,bgmonth,bgday;
4 int enyear,enmonth,enday;
5 int month[21]={0,31,28,31,30,31,30,31,31,30,31,30,31};//非闰年
6 int rmonth[21]={0,31,29,31,30,31,30,31,31,30,31,30,31};//闰年
7 int flag=1;
8 int tot=0;
9 int main()
10 {
11 cin>>bgyear>>bgmonth>>bgday;
12 cin>>enyear>>enmonth>>enday;
13 for(int i=bgyear;i<=enyear+1;i++)//寻找年数上的差异
14 {
15 if((i%4==0&&i%100!=0)||(i%400==0))
16 {
17 for(int j=1;j<=12;j++)
18 {
19 if(i==bgyear&&j<bgmonth)
20 continue;//寻找开始月份
21 for(int k=1;k<=rmonth[j];k++)
22 {
23 if(i==enyear&&j==enmonth&&k==enday)
24 {
25 cout<<tot;
26 return 0;
27 }
28 if(k<bgday&&flag==1)
29 continue;
30 else
31 {
32 flag=0;
33 tot++;
34 }
35
36 }
37
38 }
39 }//闰年
40 else
41 {
42
43 for(int j=1;j<=12;j++)
44 {
45 if(i==bgyear&&j<bgmonth)
46 continue;//寻找开始月份
47 for(int k=1;k<=month[j];k++)
48 {
49 if(i==enyear&&j==enmonth&&k==enday)
50 {
51 cout<<tot;
52 return 0;
53 }
54 if(k<bgday&&flag==1)
55 continue;
56 else
57 {
58 flag=0;
59 tot++;
60 }
61
62 }
63
64 }
65 }//非闰年
66 }
67 cout<<tot;
68 return 0;
69 }
- 深入浅出Redis-redis哨兵集群
- Spring-Blog:个人博客(一)-Mybatis 读写分离
- Spring-boot:5分钟整合Dubbo构建分布式服务
- MYSQL5.6优化器的一个新特性MMR
- Mysql聚集索引和非聚集索引
- Spring-Boot:6分钟掌握SpringBoot开发
- Zookeeper-5分钟快速掌握分布式应用程序协调服
- Mysql索引长度计算
- Spring-Boot:Spring Cloud构建微服务架构
- Python-WXPY实现微信监控报警
- MySQL InnoDB Lock(一)
- Java 时间类-Calendar、Date、LocalDate/LocalTime
- Java消息队列--JMS概述
- Java FtpClient 实现文件上传服务
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 爬虫 -- 天天基金网数据简单爬取
- python爬虫-唯品会商品信息实战步骤详解
- go框架中使用CGO,docker build image打包镜像注意事项
- python爬虫汽车之家全车型及基本参数入数据库(截止50524个数据)(详解)
- C语言最全入门笔记
- 如何实现oVirt与Tungsten Fabric的集成
- 一文让你学完C++,干货收藏!!!
- 缓冲区溢出
- 指针变量的传值和传址
- 又被限速,我决定用 Serverless 搭建一款私人网盘
- C语言与C++常见面试题
- delete 和 delete [] 的真正区别
- C语言最大难点揭秘:编程的祸根!
- 【漏洞修复】MongoDB未授权访问漏洞复现和修复
- 在 Istio 中实现 Redis 集群的数据分片、读写分离和流量镜像