2015-09-27 20 views
5

Tôi có một timepoint khởi đầu trong mili giây như vậy:Thêm thời gian thời gian để 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())); 

Bây giờ tôi sẽ có một số giờ nhất định mà tôi muốn cộng hoặc trừ vào startTimePoint.

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

Tôi làm cách nào để thêm thời gian này vào startTimePoint ban đầu ??

Trả lời

11

Nếu bạn muốn thêm năm giờ để startTimePoint, nó boringly đơn giản:

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

Live example.

Nhân tiện, bạn đang cố gắng chuyển đổi một số steady_clock::now() thành một số system_clock::time_point, trong đó shouldn't even compile. Thay đổi số steady_clock::now() thành system_clock::now() và bạn nên làm tốt.

+0

Hoặc thay đổi 'system_clock :: time_point' thành' steady_clock :: time_point'. –

Các vấn đề liên quan