當(dāng)前位置:首頁 > 公眾號精選 > C語言與CPP編程
[導(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。

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::nanosecondsduration/ 至少 64 位的有符號整數(shù)類型 /, std::nano>
微秒:std::chrono::microsecondsduration/ 至少 55 位的有符號整數(shù)類型 /, std::micro>
毫秒:std::chrono::millisecondsduration/ 至少 45 位的有符號整數(shù)類型 /, std::milli>
秒:std::chrono::secondsduration/ 至少 35 位的有符號整數(shù)類型 />
分鐘:std::chrono::minutesduration/ 至少 29 位的有符號整數(shù)類型 /, std::ratio<60>>
小時:std::chrono::hoursduration/ 至少 23 位的有符號整數(shù)類型 /, std::ratio<3600>>
注意:到 hours 為止的每個預(yù)定義時長類型至少涵蓋 ±292 年的范圍。

duration 類的構(gòu)造函數(shù)原型如下:

//?1.?拷貝構(gòu)造函數(shù)
duration(?const?duration
本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
關(guān)閉
關(guān)閉