文章
28
粉丝
226
获赞
53
访问
144.4k
平时我是这样算的:先看年,再看月,再看日。
如果年不同,则先化成同一年,月不同则化成同一个月,然后就可以直接减日子了。
#include <iostream>
using namespace std;
int days_of_year(int year){
if((year%4==0 && year%100==0) || year%400==0){
return 366;
}else{
return 365;
}
}
int main()
{
string x,y;
cin >> x >> y;
int days[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
int y1,m1,d1;
int y2,m2,d2;
y1 = stoi(x.substr(0,4));
y2 = stoi(y.substr(0,4));
m1 = stoi(x.substr(4,2));
m2 = stoi(y.substr(4,2));
d1 = stoi(x.substr(6,2));
d2 = stoi(y.substr(6,2));
int ans = 1;
if(y1 != y2){
for(int i = y1;i < y2;i++){
// 假设都是1月1日
ans += days_of_year(i);
}
}
// 已经来到同一年了。
if(m1 != m2){
if((y2%4==0 && y2%100==0) || y2%400==0){
days[2] = 29;
}
int temp1 = 1;
int temp2 = 1;
// 假设都是1号
f...
登录后发布评论
暂无评论,来抢沙发