Использую такую структуру и функцию для получения текущего системного времени
struct sysTimeStruct {
int years;
int months;
int dayOfWeek;
int dayNum;
int hours;
int minutes;
int seconds;
};
void Time::sysTime(sysTimeStruct & c) {
SYSTEMTIME sTime;
GetLocalTime(&sTime);
c.years = (int)sTime.wYear;
c.months = (int)sTime.wMonth;
c.dayOfWeek = (int)sTime.wDayOfWeek;
c.dayNum = (int)sTime.wDay;
c.hours = (int)sTime.wHour;
c.minutes = (int)sTime.wMinute;
c.seconds = (int)sTime.wSecond;
}
А так же получаю дату с сайта в виде 2018-01-12 07-14-28, и перевожу её в другую структуру
struct upTimeStruct {
int years;
int months;
int day;
int hours;
int minutes;
int seconds;
};
Мне нужно вывести на экран время, которое прошло от 2018-01-12 07-14-28, т.е. в итоге мне нужно вывести сообщение типа:
Прошло 2 дня 5 часов 12 минут 59 секунд.
Это можно сделать конвертируя обе даты в секунды, вычитать одну из другой, снова конвертировать обратно в календарное время..
Я, конечно, не эксперт, но мне кажется, что это будет работать довольно медленно. Какие есть ещё варианты?
Сборка персонального компьютера от Artline: умный выбор для современных пользователей