首页 > 代码库 > boost的posix_time用法详解01
boost的posix_time用法详解01
// boost_time.cpp : 定义控制台应用程序的入口点。 //made by davidsu33 //2014-5-11 //the usage of posix_time #include "stdafx.h" #include <boost/date_time/posix_time/posix_time.hpp> #include <iostream> #include <cassert> using namespace std; #define SHOW_VARIABLE(x){ cout<<#x<<"="<<x<<endl;} void show_tm(std::tm & atm) { cout<<"year="<<atm.tm_year<<" month="<<atm.tm_mon<<" day="<<atm.tm_mday<<endl; cout<<"hour="<<atm.tm_hour<<" minute="<<atm.tm_min<<" sec="<<atm.tm_sec<<endl; } //时间区间 void use_time_duration() { //mili-sec 毫秒 //mico-sec 微妙 //nano-sec 纳秒 //1hour 20minutes 30seconds 1000mico-seconds boost::posix_time::time_duration td(1, 20, 30, 1000); //cout<<"td="<<td<<endl; SHOW_VARIABLE(td); //根据所给的数值自动的进制 boost::posix_time::time_duration td2(1, 60, 60, 1000*1000*6); SHOW_VARIABLE(td2); boost::posix_time::time_duration td3(2, 1, 6); assert(td3 == td2); SHOW_VARIABLE(td3); //hours minutes seconds 分别从time_duration派生 boost::posix_time::hours h(2); boost::posix_time::minutes m(1); boost::posix_time::seconds s(6); boost::posix_time::time_duration td4 = h + m + s; assert(td4 == td3); SHOW_VARIABLE(td4); //duration_from_string std::string str = "2:1:6:0"; boost::posix_time::time_duration td5 = boost::posix_time::duration_from_string(str); assert(td5 == td4); SHOW_VARIABLE(td5); //转换为tm结构 std::tm tm2 = boost::posix_time::to_tm(td5); show_tm(tm2); } void uage_of_ptime() { //ptime时间点 //2014年5月11号 凌晨1点 boost::posix_time::ptime t1(boost::gregorian::date(2014, 5, 11), boost::posix_time::hours(1)); SHOW_VARIABLE(t1); //time_from_string std::string s1 = "2014-5-11 01:00:00"; boost::posix_time::ptime t2 = boost::posix_time::time_from_string(s1); SHOW_VARIABLE(t2); //from_iso_string boost::posix_time::ptime t3 = boost::posix_time::from_iso_string("20140511T010000"); SHOW_VARIABLE(t3); } int _tmain(int argc, _TCHAR* argv[]) { use_time_duration(); uage_of_ptime(); getchar(); return 0; }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。