C++练习 | 计算两日期之间天数差

#include<iostream>
#include<string>
#include<cstring>
using namespace std; class Date
{
private:
int year;
int month;
int day;
public:
void get()
{
int a,b,c;
cin>>a;
getchar();
cin>>b;
getchar();
cin>>c;
year=a;
month=b;
day=c;
return;
}
friend int days(Date a,Date b);
}; int days(Date a,Date b)
{
int day1=;
Date temp;
if((a.year<b.year)||((a.year==b.year)&&(a.month<b.month))||((a.year==b.year)&&(a.month==b.month)&&(a.day<b.day)))
{
temp=a;
a=b;
b=temp;//保证a比b日期靠后
}
if(a.year!=b.year)
{
day1+=(a.year-b.year-)*;//不考虑闰年和不完整年的整年天数
day1+=((((a.year-)/) - ((a.year-)/) + ((a.year-)/))-(((b.year-)/) - ((b.year-)/) + ((b.year-)/)));//期间闰年天数
for(int i=b.month;i<=;i++)
{
switch(i)
{
case :
{
day1+=;
break;
}
case :
{
day1+=;
break;
}
case :
{
day1+=;
break;
}
case :
{
day1+=;
break;
}
case :
{
day1+=;
break;
}
case :
{
day1+=;
break;
}
case :
{
day1+=;
break;
}
case :
{
day1+=;
break;
}
case :
{
day1+=;
break;
}
case :
{
day1+=;
break;
}
case :
{
day1+=;
break;
}
case :
{
day1+=;
break;
}
}
}
day1-=b.day;
for(int i=a.month-;i>=;i--)
{
switch(i)
{
case :
{
day1+=;
break;
}
case :
{
day1+=;
break;
}
case :
{
day1+=;
break;
}
case :
{
day1+=;
break;
}
case :
{
day1+=;
break;
}
case :
{
day1+=;
break;
}
case :
{
day1+=;
break;
}
case :
{
day1+=;
break;
}
case :
{
day1+=;
break;
}
case :
{
day1+=;
break;
}
case :
{
day1+=;
break;
}
case :
{
day1+=;
break;
}
}
}
day1+=a.day;
if(((b.year%==&&b.year%!=)||(b.year%==))&&(b.month>))
day1-=;
if(((a.year%==&&a.year%!=)||(a.year%==))&&(a.month>))
day1+=;
}
else
{
for(int i=b.month;i<a.month;i++)
{
switch(i)
{
case :
{
day1+=;
break;
}
case :
{
day1+=;
break;
}
case :
{
day1+=;
break;
}
case :
{
day1+=;
break;
}
case :
{
day1+=;
break;
}
case :
{
day1+=;
break;
}
case :
{
day1+=;
break;
}
case :
{
day1+=;
break;
}
case :
{
day1+=;
break;
}
case :
{
day1+=;
break;
}
case :
{
day1+=;
break;
}
case :
{
day1+=;
break;
}
}
}
day1+=a.day;
day1-=b.day;
if(b.month==&&b.day==)
day1++;
if(((a.year%==&&a.year%!=)||(a.year%==))&&(b.month<=&&b.day!=&&a.month>))
{
day1++;
}
}
return day1;
} int main()
{
Date y1,y2;
y1.get();
y2.get();
cout<<days(y1,y2);
return ;
}
C++练习 | 计算两日期之间天数差的更多相关文章
- java:通过Calendar类正确计算两日期之间的间隔
在开发Android应用时偶然需要用到一个提示用户已用天数的功能,从实现上来看无非就是持久化存入用户第一次使用应用的时间firstTime(通过SharedPreferences .xml.sqlit ...
- iOS 时间戳和时间互换,计算两日期相隔天数
/* *获取当前系统时间的时间戳 */ +(NSInteger)getNowTimestamp; /** * 获取当前时间 */ + (NSString *)getNowTimeTampF ...
- MySql计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数
MySql计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数 计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数,这里主要分享的是通过MySql内置的函数 TimeStampDiff() ...
- js计算两个日期的天数差值
js计算两个日期的天数差值 通过两个日期计算这两个日期之间的天数差值 /** * 计算天数差的函数,通用 * @param sDate1 * @param sDate2 * @returns {Num ...
- java中计算两个日期之间天数的程序设计。
//用java编写出一个以下方法计算两个日期之间天数的程序设计. import java.util.regex.Matcher; import java.util.regex.Pattern; pub ...
- 使用LocalDateTime计算两个时间的差
LocalDateTime now = LocalDateTime.now();System.out.println("计算两个时间的差:");LocalDateTime end ...
- C 语言实例 - 计算两个时间段的差值
C 语言实例 - 计算两个时间段的差值 C 语言实例 C 语言实例 计算两个时间段的差值. 实例 #include <stdio.h> struct TIME { int seconds; ...
- oracle计算两个时间的差值(XX天XX时XX分XX秒)
在工作中需要计算两个时间的差值,结束时间 - 开始时间,又不想在js里写function,也不想在java里去计算,干脆就在数据库做了一个函数来计算两个时间的差值.格式为XX天XX时XX分XX秒: 上 ...
- JS实现——计算两日期之差
在网上找了个js实现的,根据相差天数计算日期和根据两个日期计算相差多少天的示例和代码: 根据相差天数计算日期: 距离: 年 月 日 相差: 天 (输入负数则往前计算) 日期是: 根据日期计算相差天 ...
随机推荐
- Java 实验案例(多态)
实验任务 任务一:图形面积周长计算小程序 任务二:饲养员喂养动物程序 实验内容: 任务一: 图形面积周长计算 任务目的: 掌握多态的含义及应用场合 掌握上转型对象和多态的实现 掌握abstract关键 ...
- 产品相关 细说软件产品和业务 & 业务过程(流程) & 业务逻辑
细说软件产品和业务& 业务过程(流程) & 业务逻辑 by:授客 QQ:1033553122 作为一名测试人猿,需要懂产品,不懂产品的测试猿不是好测试猿猴.而业务逻辑是软件产品 ...
- 切换Fragment时实现数据保持
摘要 Fragment设计初衷是为了简化不同屏幕分辨率的开发难度,他将代表一个功能的UI及其相关数据看做一个模块,以便达到复用.可以将Fragment看作是一个可以嵌入布局中的activity,有自己 ...
- SSRF学习
前言 SSRF(Server-Side Request Forgery ,服务器端请求伪造) 是一种由攻击者构造形成由服务器发起请求的一个安全漏洞 SSRF的主要攻击目标为外网无法访问的内部系统. 本 ...
- JS数组与对象的遍历方法大全
本文简单解析各种数组和对象属性的遍历方法: 原生for循环.for-in及forEach ES6 for-of方法遍历类数组集合 Object.key()返回键名的集合 jQuery的$.each() ...
- 009_svn配置多仓库与权限控制(Alpha)
1,配置多仓库 实际项目中,我们会同时开发多个项目,通过SVNserve进行仓库监管,但是监管命令只能同时监管一个文件夹,而不能同时监管多个仓库. 解决方法: 可以通过监管总目录来监管所有仓库 SVN ...
- zTree设置异步加载后展开
//不能直接配置展开属性 因为没有数据,需要添加回调函数,异步加载成功展开 callback: { onAsyncSuccess: zTreeOnAsyncSuccess } //异步加载成功回调函数 ...
- Python-Image 基本的图像处理操作
Python-Image 基本的图像处理操作,有需要的朋友可以参考下. Python 里面最常用的图像操作库是 Image library(PIL),功能上,虽然还不能跟Matlab比较,但是还是比较 ...
- Jmeter入门--脚本录制
一.Badboy脚本录制(推荐) 下载地址:http://www.badboy.com.au/download/add,下载完成后直接安装即可. Badboy是一个强大的工具,旨在帮助测试和开发复杂的 ...
- procexp
https://www.cnblogs.com/iTBear/articles/2789151.html