Тактовый цикл time_t и получение проблемы со временем

Я пытаюсь получить текущее необработанное время (то, которое НЕ читается человеком) в моем простом цикле while. Я искал период тактового цикла time_t, но не смог найти никакой информации об этом.

1-й вопрос: кто-нибудь знает период такта time_t в C++?

2-я проблема: когда я печатаю время, оно все время выглядит одинаково.

time_t ltime;
while (count <= 1000) {
  time( & ltime); //I expect this to get current time in every cycle
  cout << "Current time " << ltime << endl;
  count++;
}

Я уже проверил эта ссылка, но она не дает информации о периоде времени.


person Deniz    schedule 19.09.2019    source источник
comment
Конечно, да: возвращает время в виде секунд.... Таким образом, разрешение time_t равно 1 секунде.   -  person rustyx    schedule 19.09.2019
comment
@rustyx теперь я вижу и понимаю, спасибо, у вас есть какие-нибудь идеи о 2-м выпуске?   -  person Deniz    schedule 19.09.2019
comment
2-я проблема: вероятно, для запуска требуется менее 1 секунды. Всего 1000 итераций.   -  person Richard Critten    schedule 19.09.2019


Ответы (1)


Используйте 1_

Редактировать:

Используйте std::system_clock::now() и std::chrono::system_clock::to_time_t()

person yumetodo    schedule 19.09.2019
comment
В реальном лонгкоде я поместил его в карту uint32_t, поэтому его тип не подходит, поэтому я выбрал time_t - person Deniz; 19.09.2019
comment
спасибо я сделал uint32_t time = static_cast<uint32_t>(std::chrono::duration_cast<std::chrono::seconds>(std::chrono::high_resolution_clock::now().time_since_epoch()).count()); - person Deniz; 19.09.2019
comment
вы не должны представлять время с 32-битным. рассмотрим проблему 2038 года. - person yumetodo; 29.09.2019