Как вычесть время из даты

Существует ли стандартный класс времени C ++, в котором есть методы для вычитания дат
например:
Я хочу вычесть 10 минут от этой даты (1 января 2014 г. 00:05) и получить такую ​​дату (31 декабря 2013 г. 23:55)

Было бы здорово, если бы была такая функция для типа «struct tm»

0

Решение

cppreference показывает достаточно функций (mktime, localtime) для конвертации struct tm с time_t, Расчеты очевидны с time_t потому что это интегральный тип, традиционно представляющий количество секунд с нового года 1970 года.

2

Другие решения

я не знаю, есть ли способ для struct tm но я думаю, что вы должны прочитать о chrono доступно в C++11,
Ссылка на сайт

0

Если вы можете использовать C ++ 11, вы можете легко вычесть и добавить даты:

#include <iostream>
#include <chrono>
#include <ctime>
#include <ratio>
using namespace std;

int main ()
{
chrono::system_clock::time_point today = chrono::system_clock::now();
chrono::system_clock::duration dtn (chrono::duration<int,ratio<60,1>>(10));

time_t t = chrono::system_clock::to_time_t(today-dtn);
cout << ctime(&t) << endl;

return 0;
}
0
По вопросам рекламы [email protected]