時間算法

輸入兩個日期,求這兩個日期之間相差多少天,要考慮閏年

#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;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章