Любые часы, предоставленные <chrono>
, относятся к эпохе, которая отличается от момента времени, к которому относится ваша входная дельта (основываясь на комментариях под вопросом). Таким образом, вы не должны пытаться использовать std::chrono::time_point
экземпляры (с которыми имеют дело часы-экземпляры), а вместо этого std:chrono::duration
. Последний является агностиком любой точки отсчета времени, как ваш вклад. В зависимости от единицы этого входа выберите одно из предопределенных std::duration
экземпляров, например,
#include <chrono>
const int timestamp = getSecondsSinceMidnight();
const std::chrono::seconds sec{timestamp};
Теперь вы можете продолжить, например, вычесть другую временную метку и т. Д.