【Boost】ptime類介紹

來源:互聯網
上載者:User

1. 概述
包含的標頭檔: #include <boost/date_time/posix_time/posix_time.hpp>
通常的命名空間: using namespace boost::posix_time;
2. 建構函式
跟date的建構函式一樣, 都基本建構函式, 字串構造, clock構造.
ptime還可以通過轉換函式構造.

void test_ptime_construct(){using namespace boost::gregorian;using namespace boost::posix_time;// 1. 常規的建構函式有如下幾種:ptime p0;// 最常用的構造方法ptime p1(date(2012, 11, 30), time_duration(1, 2, 3));// 2012-Nov-30 01:02:03ptime p2(p1);// 複製構造ptime ps1(neg_infin);ptime ps2(pos_infin);ptime ps3(not_a_date_time);ptime ps4(max_date_time);// 9999-Dec-31ptime ps5(min_date_time);// 1400-Jan-01// 2. 通過字串構造ptime pstr1(time_from_string("2012-11-30 23:59:59.000"));ptime pstr2(from_iso_string("20121130T200001"));// 3. 通過clock構造ptime pc1(second_clock::local_time());ptime pc2(second_clock::universal_time());ptime pc3(microsec_clock::local_time());ptime pc4(microsec_clock::universal_time());// 4. 通過轉換函式from_time_t和ptime_from_tm, // 注意: 這樣通過from_time_t轉換成ptime後, 好像是格林威治時間time_t t1 = time(NULL);ptime pc5 = from_time_t(t1);std::cout << pc5 << std::endl;tm* t2 = localtime(&t1);ptime pc6 = ptime_from_tm(*t2);std::cout << pc6 << std::endl;}

3. 常用函數
可以換取日期, 時間, 秒的小數部分

void test_ptime_accessor(){using namespace boost::posix_time;using namespace boost::gregorian;// 擷取日期部分ptime pt(second_clock::local_time());date d1 = pt.date();// 擷取時間部分time_duration td = pt.time_of_day();// 擷取秒的小數部分__int64 l = td.fractional_seconds();std::cout << l << std::endl;}

4. 轉換成字串

void test_ptime2string(){using namespace boost::posix_time;time_duration td1(1, 2, 3, 4);std::cout << to_simple_string(td1) << std::endl;std::cout << to_iso_string(td1) << std::endl;}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.