輸入兩個日期,求這兩個日期之間相差多少天,要考慮閏年
#include <iostream>
using namespace std;
class Date
{
public:
int year, month, day;
Date(int y, int m, int d):year(y), month(m), day(d) {}
operator long();
};
Date::operator long()
{
static int dys[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
long days =year * 365;
days += year / 4;
int temp = year - year % 100;
while(temp)
{
if(temp % 400)
{
days--;
}
temp -= 100;
}
for(int i = 0; i < month -1; i++)
{
days += days[i];
}
days += day;
return days;
}
int main()
{
Date d1(1993, 3, 14);
Date d2(2005, 4, 5);
long count = (long) d2 - (long) d1;
cout << count << endl;
return 0;
}