给定两个日期,求出两个日期的差值,如果两个日期是连续的,则规定它们之间的天数为两天。
样例输入
20130101
20130105
样例输出
5
#include <iostream>
#include <string.h>
using namespace std;
bool isLeapYear(int year) {
if (year%400==0 || (year%4==0 && year%100!=0)) {
return true;
}
return false;
}
void split(int date, int &y, int &m, int &d) {
y = date/10000;
m = (date%10000)/100;
d = date%100;
}
int dayOfYear(int date) {
int year, month, day;
int res = 0;
split(date, year, month, day);
if (isLeapYear(year)) {
switch(month) {
case 12:
res += 30;
case 11:
res += 31;
case 10:
res += 30;
case 9:
res += 31;
case 8:
res += 31;
case 7:
res += 30;