C ?使用?chrono?庫處理日期和時間
時間:2021-09-06 15:21:21
手機(jī)看文章
掃描二維碼
隨時隨地手機(jī)看文章
[導(dǎo)讀]C11中提供了日期和時間相關(guān)的庫chrono,通過chrono庫可以很方便地處理日期和時間,為程序的開發(fā)提供了便利。chrono庫主要包含三種類型的類:時間間隔duration、時鐘clocks、時間點(diǎn)timepoint。1.時間間隔duration1.1常用類成員duratio...
C 11 中提供了日期和時間相關(guān)的庫 chrono,通過 chrono 庫可以很方便地處理日期和時間,為程序的開發(fā)提供了便利。chrono 庫主要包含三種類型的類:時間間隔duration、時鐘clocks、時間點(diǎn)time point。
注意:到 hours 為止的每個預(yù)定義時長類型至少涵蓋 ±292 年的范圍。
1. 時間間隔 duration
1.1 常用類成員
duration表示一段時間間隔,用來記錄時間長度,可以表示幾秒、幾分鐘、幾個小時的時間間隔。duration 的原型如下://?定義于頭文件?
template<
????class?Rep,
????class?Period?=?std::ratio<1>
>?class?duration;
ratio 類表示每個時鐘周期的秒數(shù),其中第一個模板參數(shù) Num 代表分子,Denom 代表分母,該分母值默認(rèn)為 1,因此,ratio 代表的是一個分子除以分母的數(shù)值,比如:ratio<2>
代表一個時鐘周期是 2 秒,ratio<60 >
代表一分鐘,ratio<60*60 >
代表一個小時,ratio<60*60*24 >
代表一天。而 ratio<1,1000 >
代表的是 1/1000
秒,也就是 1 毫秒,ratio<1,1000000 >
代表一微秒,ratio<1,1000000000 >
代表一納秒。為了方便使用,在標(biāo)準(zhǔn)庫中定義了一些常用的時間間隔,比如:時、分、秒、毫秒、微秒、納秒,它們都位于 chrono 命名空間下,定義如下:
類型 | 定義 |
---|---|
納秒:std::chrono::nanoseconds | duration |
微秒:std::chrono::microseconds | duration |
毫秒:std::chrono::milliseconds | duration |
秒:std::chrono::seconds | duration |
分鐘:std::chrono::minutes | duration |
小時:std::chrono::hours | duration |
duration 類的構(gòu)造函數(shù)原型如下:
//?1.?拷貝構(gòu)造函數(shù)
duration(?const?duration