2015-09-27 4 views
5

ich einen Start Zeitpunkt in Millisekunden haben etwa so:hinzufügen Zeitdauer C++ Zeitpunkt

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())); 

Jetzt werde ich eine bestimmte Anzahl von Stunden, die ich möchte den startTimePoint addieren oder subtrahieren.

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

Wie kann ich diesen Zeitaufwand zum ursprünglichen startTimePoint hinzufügen ??

Antwort

11

Wenn Sie fünf Stunden startTimePoint hinzufügen möchten, es ist langweilig einfach:

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

Live example.

Übrigens, Sie versuchen, eine steady_clock::now() in eine system_clock::time_point, die shouldn't even compile konvertieren. Ändern Sie die steady_clock::now() zu system_clock::now() und Sie sollten gut gehen.

+0

Oder ändern Sie 'system_clock :: time_point' in' steady_clock :: time_point'. –

Verwandte Themen