簡體   English   中英

從boost :: chrono :: steady_clock :: now()獲取雙倍

[英]Get a double from boost::chrono::steady_clock::now()

我如何從boost :: chrono :: steady_clock :: now()獲得double值? 我不相信這有一個.count()參數。

我為什么需要這個? 我有一個方法無法解析提升返回。

當我們把它們放在一起時,歸結為:

auto now = boost::chrono::steady_clock::now().time_since_epoch();
auto timeSinceEpoch = boost::chrono::duration_cast<boost::chrono::milliseconds>(now).count();

雖然這不是一個double但足夠接近:你可以改變duration_cast來獲得你需要的任何精度和/或根據你的喜好划分timeSinceEpoch ,這樣你的double符合你的要求。 例如:

// Days since epoch, with millisecond (see duration_cast above) precision
double daysSinceEpoch = double(timeSinceEpoch) / (24. * 3600. * 1000.);

你可以指定double duration

auto some_time = std::chrono::high_resolution_clock::now();
double duration = std::chrono::duration_cast<std::chrono::duration<double>>(some_time).count();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM