Czas UTC z dokladnoscia do milisekund

0

wiec napisalem sobie taki kod

std::string Application::GetDateTimeNow()
{
    std::string dateTimeNow;
    time_t t = time(0);   // get time now
    //struct tm* now = localtime(&t); // get LocalTime of machine
    struct tm* now = gmtime(&t); // get local time of machine and transfer it to UTC
    dateTimeNow = std::to_string(now->tm_year + 1900) + "-" + std::to_string(now->tm_mon + 1) + "-" + std::to_string(now->tm_mday) + " " +
                  std::to_string(now->tm_hour) + ":" + std::to_string(now->tm_min) + ":" + std::to_string(now->tm_sec);
    return dateTimeNow;
}

wielkiej filozofii tutaj nie ma, ale chcialem zeby zwracal mi z dokladnoscia do milisekund. Niestety struktura tm nie posiada milisekund, a chrono nie dziala z UTC

Mam jeden pomysl, ale jest bardzo nie efektywny. Moge wystartowac chrono timer i co kazde wywolanie funkcji bede pobieral czas w milisekundach oraz dzielil przez czas od ostatniego wywolania funkcji. Wynik dodac do stringa... ale to nie jest super rozwiazanie.

1

znalazlem sposob...

nie jest piekny, ale lepszego chyba nie ma

dla windowsa
GetSystemTime
https://msdn.microsoft.com/en-us/library/windows/desktop/ms724390%28v=vs.85%29.aspx

dla unixa
gettimeofday
http://linux.die.net/man/2/gettimeofday

moze komus sie przyda ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1