Boost 之date

date是boost库中date_time库中处理日期的核心类,它使用32位的整数作为内部存储,以天为单位表示时间点的概念。

要想在vs中使用date类,我们需要引用date类的头文件,引用方式:

#include <boost/date_time/gregorian/gregorian.hpp>
using namespace boost::gregorian;

至于date类的内部代码我就不贴出来了,大家可以自己去看下,也不多。

既然我们导入了头文件,也指定了对应的命名空间,那么我们就开始看下它的简单使用。

首先,我们构造一个默认的date对象,看下它的输出是什么?

date boos_date;
cout << boos_date << endl;

输出:

not-a-date-time

哦,这是什么意思,看字面意思似乎提示我们这是一个无效的日期吧。那么我们就去看一下not-a-date-time到底是什么东西。

在special_defs.hpp中我找到了它的定义:

namespace boost {
   
namespace date_time {
   

    enum special_values {not_a_date_time, 
                         neg_infin, pos_infin, 
                         min_date_time,  max_date_time,
                         not_special, NumSpecialValues};


} } //namespace date_time

可以看到,这是一个枚举类型,那么我就一个一个的试着用这些值来构建date对象,让大家能有一个直观的认识,这些值到底表示什么意思。

date date1(not_a_date_time);
    date date2(neg_infin);
    date date3(pos_infin);
    date date4(min_date_time);
    date date5(max_date_time);
    date date6(not_special);

    cout << date1 << endl;
    cout << date2 << endl;
    cout << date3 << endl;
    cout << date4 << endl;
    cout << date5 << endl;
    cout << date6 << endl;

在上面我们定义了六个对象,并且直接输出该对象,下面是程序运行结果,注释我顺便写了代表的意思。

not-a-date-time//无效日期
-infinity//负无限日期
+infinity//正无限日期
1400-Jan
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值