2015-09-27 8 views
5

Ho un timepoint partenza in millisecondi in questo modo:Aggiungere tempo determinato, di C++ timepoint

using namespace std::chrono; 
typedef time_point<system_clock, milliseconds> MyTimePoint; 

MyTimePoint startTimePoint = time_point_cast<MyTimePoint::duration>(system_clock::time_point(steady_clock::now())); 

Ora avrò un certo numero di ore che voglio aggiungere o sottrarre al startTimePoint.

int numHours = -5//or 5 etc (Can be a plus or minus number) 

Come posso aggiungere questo abount di tempo al startTimePoint originale ??

risposta

11

Se si desidera aggiungere cinque ore per startTimePoint, è noiosamente semplice:

startTimePoint += hours(5); // from the alias std::chrono::hours 

Live example.

A proposito, stai cercando di convertire un steady_clock::now() in un system_clock::time_point, che shouldn't even compile. Cambia il steady_clock::now() a system_clock::now() e dovresti essere pronto.

+0

Oppure, modificare 'system_clock :: time_point' a' steady_clock :: time_point'. –