欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

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

獲取現在時間:

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;

字符串轉換為時間

標準格式的字符串可以通過time_from_string轉換。

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

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

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;
}

關于cpu_timer更多信息,請參看boost官方文檔

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

相關文章

  • C語言深入回顧講解結構體對齊

    C語言深入回顧講解結構體對齊

    C 數組允許定義可存儲相同類型數據項的變量,結構是 C 編程中另一種用戶自定義的可用的數據類型,它允許你存儲不同類型的數據項,本篇讓我們來了解C 的結構體內存對齊
    2022-06-06
  • OpenCV實現馬賽克功能

    OpenCV實現馬賽克功能

    這篇文章主要為大家詳細介紹了OpenCV實現馬賽克功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • 詳解C++編程中類的成員變量和成員函數的相關知識

    詳解C++編程中類的成員變量和成員函數的相關知識

    這篇文章主要介紹了C++編程中類的成員變量和成員函數的相關知識,是C++入門學習中的基礎知識,需要的朋友可以參考下
    2015-09-09
  • C語言每日練習之乒乓球比賽問題

    C語言每日練習之乒乓球比賽問題

    這篇文章主要為大家詳細介紹了C語言實現乒乓球比賽,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • C語言如何讀取bmp圖像

    C語言如何讀取bmp圖像

    這篇文章主要介紹了C語言如何讀取bmp圖像,BMP即bitmap,由文件頭信息塊、圖像描述信息塊、顏色表、圖像數據區(qū)四部分組成,下文更多相關資料需要的小伙伴可以參考一下
    2022-04-04
  • 詳解C語言fscanf函數讀取文件教程及源碼

    詳解C語言fscanf函數讀取文件教程及源碼

    這篇文章主要為大家介紹了詳解C語言算法fscanf讀取文件示例教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2022-02-02
  • C語言驅動開發(fā)之內核通過PEB獲取進程參數

    C語言驅動開發(fā)之內核通過PEB獲取進程參數

    PEB結構(Process Envirorment Block Structure)其中文名是進程環(huán)境塊信息。本文將通過PEB實現獲取進程參數,感興趣的小伙伴可以了解一下
    2022-10-10
  • C連接Mysql數據庫代碼

    C連接Mysql數據庫代碼

    使用C語言連接Mysql數據庫的方法,大家可以看看
    2013-11-11
  • C++自定義實現比較器

    C++自定義實現比較器

    這篇文章主要為大家詳細介紹了如何使用C++自定義實現比較器,文中的示例代碼講解詳細,具有一定的借鑒價值,感興趣的小伙伴可以跟隨小編一起學習一下
    2024-01-01
  • C語言課程設計之停車場管理問題

    C語言課程設計之停車場管理問題

    這篇文章主要為大家詳細介紹了C語言課程設計之停車場管理問題,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03

最新評論