// 如果把时间想象成一个向前和向后都无限延伸的实数轴,那么埋单点就是数轴上的
// 一个点,时间段就是两个时间点之间确定的一个区间,时长(时间长度)则是一个有
// 正负号的标量,它是两个时间点之差,不属于数轴
// date_time库中有枚举special_values定义了这些特殊的时间概念,它位于名子空间
// boost::date_time,并被using 语句引入其他子名字空间
// pos_infin //表示正无限
// neg_infin //表示负无限
// not_a_date_time//无效时间
// min_date_time//可表示的最小日期或时间
// max_date_time//可表示的最大日期或时间
// date_time库的日期基于格里高利历,支持从 1400-01-01到9999-12-31之间的日期
// 计算。它位于名字空间boost::gregorian,为了使用date_time库的日期功能,需要
// 包含头文件<boost/date_time/gregorian/gregorian.hpp>
//
#include <iostream>
#include <boost/date_time/gregorian/gregorian.hpp>
#include <boost/static_assert.hpp>
int main()
{
boost::gregorian::date d1;
boost::gregorian::date d2(2013,9,29);
boost::gregorian::date d3(2013,boost::gregorian::Jan,1);
boost::gregorian::date d4(d2);
assert(d1 == boost::gregorian::date(boost::gregorian::not_a_date_time));
assert(d2 == d4);
assert(d3 < d4);
return 0;
}
// 一个点,时间段就是两个时间点之间确定的一个区间,时长(时间长度)则是一个有
// 正负号的标量,它是两个时间点之差,不属于数轴
// date_time库中有枚举special_values定义了这些特殊的时间概念,它位于名子空间
// boost::date_time,并被using 语句引入其他子名字空间
// pos_infin //表示正无限
// neg_infin //表示负无限
// not_a_date_time//无效时间
// min_date_time//可表示的最小日期或时间
// max_date_time//可表示的最大日期或时间
// date_time库的日期基于格里高利历,支持从 1400-01-01到9999-12-31之间的日期
// 计算。它位于名字空间boost::gregorian,为了使用date_time库的日期功能,需要
// 包含头文件<boost/date_time/gregorian/gregorian.hpp>
//
#include <iostream>
#include <boost/date_time/gregorian/gregorian.hpp>
#include <boost/static_assert.hpp>
int main()
{
boost::gregorian::date d1;
boost::gregorian::date d2(2013,9,29);
boost::gregorian::date d3(2013,boost::gregorian::Jan,1);
boost::gregorian::date d4(d2);
assert(d1 == boost::gregorian::date(boost::gregorian::not_a_date_time));
assert(d2 == d4);
assert(d3 < d4);
return 0;
}