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