【Boost】date构造方法

来源:互联网 发布:生意参谋数据下载 编辑:程序博客网 时间:2024/06/07 12:34
1. 概述
头文件: <boost/date_time.hpp>
本库采用格里历日期系统, 支持从1400-Jan-01到9999-Dec-31.
类boost::gregorian::date是用户使用的主要时间类型.
2. 构造函数
date_time中使用枚举special_values定义了一些特殊的时间概念,包括:
pos_infin(正无限)
neg_infin(负无限)
not_a_date_time(无效时间)
min_date_time(最小日期或时间)
max_date_time(最大日期或者时间)
另外还提供了5个is_xxx函数,用于检验日期是否是特殊日期,
is_infinity(是否是一个无限日期)
is_neg_infinity(是否是一个负无限日期)
is_pos_infinity(是否是一个正无限日期)
is_not_adate(是否是一个无效日期)
is_special(是否是任意一个特殊日期)
3. 例子

void test_dt_construct(){using namespace boost::gregorian;// 1. 常规的构造函数有如下几种:date d0;date d1(2008, 8, 9);// 最常用的构造方法date d2(d1);// 复制构造date ds1(neg_infin);date ds2(pos_infin);date ds3(not_a_date_time);date ds4(max_date_time);// 9999-Dec-31date ds5(min_date_time);// 1400-Jan-01assert(d0.is_not_a_date());assert(d0.is_special());assert(ds1.is_special());assert(ds2.is_special());assert(ds3.is_special());assert(!ds4.is_special());assert(!ds5.is_special());// 2. 通过字符串构造date dstr1(from_string("2011/08/09"));date dstr2(from_string("2011-08-09"));date dstr3(from_string("2011-Feb-28"));date dstr4(from_string("2011-February-28"));date dstr5(from_undelimited_string("20110809"));// 不常用的字符串date dstr6(from_us_string("Feb-28-2011"));// 完整的月份单词也可以date dstr7(from_uk_string("28-Feb-2011"));// 完整的月份单词也可以// 3. 通过clock构造date dc1(day_clock::local_day());date dc2(day_clock::universal_day());// 4. 构造时的异常try{// 年, 月, 日超过范围时会抛异常.date d6(1300, 12, 25);}catch (std::exception& e){std::cout << e.what() << std::endl;}}


原创粉丝点击