Я хотел бы получить временную отметку unix начала текущего (или любого заданного часа) в c/C++.Получить текущий час unix timestamp
У меня есть это:
time_t get_current_hour() { time_t beginning_of_hour; struct tm * ptm; time(&beginning_of_hour); ptm = gmtime(&beginning_of_hour); ptm->tm_min = 0; ptm->tm_sec = 0; ptm->tm_zone = (char*) "GMT"; beginning_of_hour = mktime(ptm); return beginning_of_hour; }
Который работает, но при высокой нагрузке многие из результата не начало текущего часа, но фактическое время.
Есть ли лучший способ решить эту проблему? Почему функция возвращает текущее время?
Пожалуйста, посоветуйте, Акос
Ну, у вас есть точка. Приложение действительно многопоточно. Спасибо, я буду использовать gmtime_r. – Akos