本文主要是介绍日期差值,,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
日期差值
ac代码
#include<iostream>
using namespace std;
int ans=0;
int get(int n){int mon[14]={0,31,28,31,30,31,30,31,31,30,31,30,31};ans=0;int m_day=n%100;int m_month=(n/100)%100;int m_year=(n/10000);ans+=m_day;while(m_month--){//加上月数if((m_year%4==0&&m_year%100!=0||m_year%400==0)&&m_month==2)ans+=29;else if(m_month==2) ans+=28;else ans+=mon[m_month];}while(m_year--){if(m_year%4==0&&m_year%100!=0||m_year%400==0)ans+=366;else ans+=365;}return ans;}int main(){int n,m;while(cin>>n>>m)cout<<abs(get(n)-get(m))+1<<endl;return 0;
}
误区:刚开始尝试用大日期减去小日期,可是发现这样减不仅要考虑边界问题,开的变量还多,
解决:将每个日期总天数求出来之后相减,避免了这些问题
两个日期差值的解决方法
这篇关于日期差值,的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!