利用boost獲取時(shí)間并格式化的方法
利用boost來(lái)獲取當(dāng)前時(shí)間又方便快捷,還不用考慮跨平臺(tái)的問(wèn)題。
1. 輸出YYYYMMDD
#include <boost/date_time/gregorian/gregorian.hpp> #define BOOST_DATE_TIME_SOURCE std::string strTime = boost::gregorian::to_iso_string(\ boost::gregorian::day_clock::local_day()); std::cout << strTime.c_str() << std::endl;
2. 輸出YYYYMMDD-HH:MM:SS
#include <boost/date_time/posix_time/posix_time.hpp> #define BOOST_DATE_TIME_SOURCE std::string strTime = boost::posix_time::to_iso_string(\ boost::posix_time::second_clock::local_time()); // 這時(shí)候strTime里存放時(shí)間的格式是YYYYMMDDTHHMMSS,日期和時(shí)間用大寫(xiě)字母T隔開(kāi)了 int pos = strTime.find('T'); strTime.replace(pos,1,std::string("-")); strTime.replace(pos + 3,0,std::string(":")); strTime.replace(pos + 6,0,std::string(":")); std::cout << strTime.c_str() << std::endl;
3. 計(jì)算時(shí)間間隔。boost里計(jì)算時(shí)間間隔的功能很多很強(qiáng)大,我列舉的僅僅是我目前用到的。
#include <boost/date_time/posix_time/posix_time.hpp> #include <boost/thread.hpp> #define BOOST_DATE_TIME_SOURCE boost::posix_time::ptime time_now,time_now1; boost::posix_time::millisec_posix_time_system_config::time_duration_type time_elapse; // 這里為微秒為單位;這里可以將microsec_clock替換成second_clock以秒為單位; time_now = boost::posix_time::microsec_clock::universal_time(); // sleep 100毫秒; boost::this_thread::sleep(boost::posix_time::millisec(100)); time_now1 = boost::posix_time::microsec_clock::universal_time(); time_elapse = time_now1 - time_now; // 類(lèi)似GetTickCount,只是這邊得到的是2個(gè)時(shí)間的ticket值的差,以微秒為單位; int ticks = time_elapse.ticks(); // 得到兩個(gè)時(shí)間間隔的秒數(shù); int sec = time_elapse.total_seconds();
以上這篇利用boost獲取時(shí)間并格式化的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
C++實(shí)現(xiàn)病人就醫(yī)管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了C++語(yǔ)言實(shí)現(xiàn)病人就醫(yī)管理系統(tǒng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-01-01C++中vector類(lèi)的一些簡(jiǎn)單實(shí)現(xiàn)
C++中的std::vector是一個(gè)動(dòng)態(tài)數(shù)組(也被稱(chēng)為可變大小數(shù)組)的容器類(lèi),它是C++標(biāo)準(zhǔn)庫(kù)提供的其中一種容器類(lèi),提供了方便的操作和管理動(dòng)態(tài)數(shù)組的功能,本文就給大家介紹了C++中vector類(lèi)的簡(jiǎn)單實(shí)現(xiàn)代碼,需要的朋友可以參考下2023-08-08Cocos2d-x 3.x入門(mén)教程(二):Node節(jié)點(diǎn)類(lèi)
這篇文章主要介紹了Cocos2d-x 3.x入門(mén)教程(二):Node節(jié)點(diǎn)類(lèi),本文對(duì)Node節(jié)點(diǎn)類(lèi)做了一個(gè)簡(jiǎn)明講解及Node類(lèi)提供的函數(shù)做了說(shuō)明,需要的朋友可以參考下2014-11-11C語(yǔ)言數(shù)據(jù)結(jié)構(gòu)與算法之圖的遍歷(一)
這篇文章主要是介紹了利用深度優(yōu)先算法實(shí)現(xiàn)圖的遍歷,文中利用圖文詳細(xì)的介紹了實(shí)現(xiàn)步驟,對(duì)我們學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)與算法有一定的幫助,需要的朋友可以參考一下2021-12-12C++中typedef 及其與struct的結(jié)合使用
這篇文章主要介紹了C++中typedef 及其與struct的結(jié)合使用,需要的朋友可以參考下2014-02-02C/C++實(shí)現(xiàn)捕獲所有信號(hào)的示例詳解
Linux的信號(hào)機(jī)制大部分情況下用不到,但是由于大部分信號(hào)的默認(rèn)處理是終止進(jìn)程,不正確處理會(huì)惹麻煩,所以我們來(lái)看看如何使用C/C++實(shí)現(xiàn)捕獲所有信號(hào)吧2024-03-03