Мне нужно заполнить две переменные (вид временной переменной), а затем уметь рассчитать их разницу. после всех моих поисков я нашел difftime
, но моя проблема в том, что он использует переменные time_t
, и я не знаю, как заполнить «time_t» со временем, которое я хочу. Например, я хочу, чтобы пользователь вводил time_1 и time_2 as (10:04, 11:05), и он может показывать разницу в секундах или минутах или в часе или что-то в этом роде (например, 61 мин)разница между двумя введенными пользователем данными C++
Я пробовал как удар, но он не работал:
#include <iostream>
#include <ctime>
using namespace std;
void main()
{
tm time_1 = {0, 0, 0, 1, 0, 0, 0, 0, 0};
tm time_2 = {0, 0, 0, 1, 0, 0, 0, 0, 0};
time_1.tm_hour = 10;
time_1.tm_min = 4;
time_2.tm_hour = 11;
time_2.tm_min = 5;
double diff = difftime (mktime(&time_2),mktime(&time_1));
cout << diff << endl;
system("pause");
}
* но это не сработало * - добавьте к вашему вопросу объяснение **, как это не работает **. Была ли ошибка? Получали ли вы неожиданный результат? –
Я имею в виду, что он просто показывает 0 выход, что не так, должно быть 3660 (difftime показывает секунды) –
Оба вызова 'mktime' возвращают' -1', что указывает на сбой. Неудивительно, что 'difftime (-1, -1)' равно нулю. –