我有一个名为
我不知道STL中是否已经有类似的算法,我找不到匹配的算法。我只发现boost有一个解决方案,但我不想使用boost。
所以,这是我的代码:
int differenceDatesInDays(string& date)
的函数。这个函数应该接收一个日期字符串(YYYY-MM-DD)并与今天的日期进行比较。我不知道STL中是否已经有类似的算法,我找不到匹配的算法。我只发现boost有一个解决方案,但我不想使用boost。
所以,这是我的代码:
int differenceDatesInDays(string& date) {
string year = date.substr(0, 4);
string month = date.substr(5,2);
string day = date.substr(8, string::npos);
int y = stoi(year);
int m = stoi(month);
int d = stoi(day);
time_t time_now = time(0);
tm* now = localtime(&time_now);
int diffY = y - (now->tm_year + 1900);
int diffM = m - (now->tm_mon + 1);
int diffD = d - (now->tm_mday);
int difference = (diffY * 365) + (diffM * 30) + diffD;
return difference;
}
我不知道如何判断一个月有30天、31天还是28天。