2015-09-27 15 views
5

mam punkcie czasowym wyjścia w milisekundach tak:Dodaj czas trwania do C++ punkcie czasowym

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

Teraz będę mieć pewną liczbę godzin, które chcę dodać lub odjąć do startTimePoint.

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

Jak dodać ten czas do oryginalnego startTimePoint?

Odpowiedz

11

Jeśli chcesz dodać do startTimePoint pięć godzin, to nudno prosta:

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

Live example.

Nawiasem mówiąc, próbujesz przekonwertować steady_clock::now() na system_clock::time_point, który shouldn't even compile. Zmień steady_clock::now() do system_clock::now() i powinno być dobrze iść.

+0

Albo zmiana 'system_clock :: time_point' do' steady_clock :: time_point'. –

Powiązane problemy