C ++ Дни между датой и сегодняшней датойC++

Программы на C++. Форум разработчиков
Anonymous
C ++ Дни между датой и сегодняшней датой

Сообщение Anonymous »

У меня есть функция, называемая int difenceedates indayays (string & date) < /code>.
Эта функция должна получить строковое значение как дату (Yyyy-mm-dd) и сравнить ее с датой сегодня. /p>

Я не знаю, есть ли уже что -то внутри 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;
}
< /code>

Я не знаю, как выяснить, имеет ли месяц 30, 31 или 28 дней.

Подробнее здесь: https://stackoverflow.com/questions/337 ... 2%b4s-date

Вернуться в «C++»