vendredi 22 novembre 2019

how can i compare a start time with the system clock using ctime/chrono libaray

I'm running into a error trying to compile the program with conversion from double to int. What I want is to be able to display out the difference not just in seconds but in hours/minutes/seconds but I can't think of how to make the difftime work. If there is a better option like using chrono, I would appreciate the help.

#include <chrono>
#include <ctime>
#include <iomanip>
#include <iostream>

int main() {
    std::tm now{},; 
    std::chrono::system_clock::time_point cc;

    std::cout << "enter\nyear month day\n";

    std::cin >> now.tm_year >> now.tm_mon >> now.tm_mday;

    now.tm_year -= 1900;
    now.tm_mon -= 1;


    std::time_t n = std::mktime(&now);
    cc = std::chrono::system_clock::from_time_t(n);
    n = std::chrono::system_clock::to_time_t(cc);

    std::cout << std::put_time(std::localtime(&n), "%FT%T") << "\n";
    std::time_t system_time = time(nullptr);
    std::cout << asctime(localtime(&system_time));

    double fc = difftime(system_time, mktime(&now));
    std::cout << "time diff "<< fc << endl;

}

Aucun commentaire:

Enregistrer un commentaire