最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++通過boost.date_time進行時間運算

 更新時間:2022年06月20日 09:28:00   作者:天方  
這篇文章介紹了C++通過boost.date_time進行時間運算的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

標準C函數(shù)的時間運算是非常不好用的,boost提供了一個跨平臺的日期庫boost.date_time,通過它可以快速實現(xiàn)各種時間運算。

boost.date_time中的時間對象為boost::posix_time::ptime,在<boost/date_time.hpp>中定義,它的常用操作如下。

獲取現(xiàn)在時間:

ptime now = second_clock::local_time();
cout << now << endl;

獲取日期信息:

cout << now.date().day_of_week();

通過偏移獲取新時間:

ptime today = now - now.time_of_day();
ptime next_time = now + years(1) + months(1) + days(1) - hours(1);

計算時間差:

time_duration?timespan = now - today;

時間比較:

bool?result = next_day > now;

字符串轉(zhuǎn)換為時間

標準格式的字符串可以通過time_from_string轉(zhuǎn)換。

cout << time_from_string("2010-09-10 10:01:01");

但對于非標準的格式的時間,則需要自定義解析函數(shù)。這里我簡單的寫了一個:

ptime time_parse_exact(const string& time_str, const string& format)
{
    ptime output;
    time_input_facet facet1(format, 1);

    std::stringstream ss1(time_str);
    ss1.imbue(std::locale(ss1.getloc(), &facet1));
    ss1 >> output;

    return output;
}
cout << time_parse_exact("2010/09/10-10:01:01", "%Y/%m/%d-%H:%M:%S");

精準計時

對于一般的計時操作,可以通過前面的時間差運算獲取。但是,有的時候需要高精度計時操作,這個時候需要用到boost的另外一個庫cpu_timer。

#include <boost/timer/timer.hpp>
int main(void)
{
    boost::timer::cpu_timer timer;
    for (long i = 0; i < 100000000; ++i)
        std::sqrt(123.456L);

    cout << timer.format() << endl;
    //std::cout << timer.format(5, "%ws wall time,%ts totle time\n");

    return 0;
}

關(guān)于cpu_timer更多信息,請參看boost官方文檔。

到此這篇關(guān)于C++通過boost.date_time進行時間運算的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • C++構(gòu)建函數(shù)使用介紹

    C++構(gòu)建函數(shù)使用介紹

    構(gòu)造函數(shù)主要作用在于創(chuàng)建對象時為對象的成員屬性賦值,構(gòu)造函數(shù)由編譯器自動調(diào)用,無須手動調(diào)用;析構(gòu)函數(shù)主要作用在于對象銷毀前系統(tǒng)自動調(diào)用,執(zhí)行一 些清理工作
    2022-08-08
  • C++計算每個字符出現(xiàn)的次數(shù)

    C++計算每個字符出現(xiàn)的次數(shù)

    這篇文章主要介紹了C++計算每個字符出現(xiàn)的次數(shù)的相關(guān)資料,需要的朋友可以參考下
    2016-05-05
  • C語言 二叉查找樹性質(zhì)詳解及實例代碼

    C語言 二叉查找樹性質(zhì)詳解及實例代碼

    這篇文章主要介紹了C語言 二叉查找樹性質(zhì)詳解及實例代碼的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • C語言簡單實現(xiàn)銀行ATM存取款功能

    C語言簡單實現(xiàn)銀行ATM存取款功能

    這個是大一時期寫的。大四的時候整理了一下(本人C語言學的也不太好)??隙ê芏嗖蛔愫痛嬖诼┒吹牡胤?、僅供借鑒、僅供借鑒,代碼中有大量注釋,新手看起來也沒有困難
    2021-11-11
  • C語言 分支語句詳解分析

    C語言 分支語句詳解分析

    分支結(jié)構(gòu)的執(zhí)行是依據(jù)一定的條件選擇執(zhí)行路徑,而不是嚴格按照語句出現(xiàn)的物理順序。分支結(jié)構(gòu)的程序設(shè)計方法的關(guān)鍵在于構(gòu)造合適的分支條件和分析程序流程,根據(jù)不同的程序流程選擇適當?shù)姆种дZ句
    2021-10-10
  • C語言實現(xiàn)簡單的通訊錄管理系統(tǒng)

    C語言實現(xiàn)簡單的通訊錄管理系統(tǒng)

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)通訊錄管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • Qt編寫顯示密碼強度的控件

    Qt編寫顯示密碼強度的控件

    這篇文章主要為大家詳細介紹了Qt編寫顯示密碼強度的控件,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • C++的matlab接口轉(zhuǎn)換方法詳解

    C++的matlab接口轉(zhuǎn)換方法詳解

    這篇文章主要為大家詳細介紹了C++的matlab接口轉(zhuǎn)換方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • 淺談關(guān)于指針作為參數(shù)并改變它的值的問題

    淺談關(guān)于指針作為參數(shù)并改變它的值的問題

    這篇文章介紹了關(guān)于指針作為參數(shù)并改變它的值的問題,有需要的朋友可以參考一下
    2013-10-10
  • C語言實現(xiàn)簡易的三子棋游戲

    C語言實現(xiàn)簡易的三子棋游戲

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)簡易的三子棋游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-12-12

最新評論

高碑店市| 紫云| 兰州市| 临高县| 安岳县| 外汇| 定襄县| 太谷县| 大城县| 金华市| 辽源市| 广水市| 青神县| 班玛县| 大名县| 安徽省| 措美县| 镶黄旗| 任丘市| 天台县| 南平市| 安多县| 织金县| 乐昌市| 浦江县| 青神县| 恭城| 涪陵区| 老河口市| 襄城县| 长葛市| 洪洞县| 琼中| 慈溪市| 桃江县| 元阳县| 汽车| 棋牌| 德化县| 米林县| 岗巴县|