示例代码如下:

 #include <boost/date_time/gregorian/gregorian.hpp>
#include <boost/date_time/posix_time/posix_time.hpp>
using namespace boost::gregorian;
using namespace boost::posix_time;
#include <iostream>
using namespace std;
#include <string> void TimerTest()
{
{
// 例1. 日期计算:打印今天日期;今年感恩节(11月的第4个星期四)的日期;如果还没有到今年感恩节,打印今天到感恩节还有多少天;
typedef nth_day_of_the_week_in_month nth_dow;
date today = day_clock::local_day(); // today; // 获取今天日期;
std::cout << "today is: " << today << std::endl;
nth_dow fourth_thur_in_nov(nth_dow::fourth, Thursday, Nov); // 4th thursday in Nov;
date thanksgiving = fourth_thur_in_nov.get_date(today.year()); // get the date this year;
std::cout << "Thanksgiving day this year is: " << thanksgiving << std::endl;
if(today < thanksgiving)
{
date_duration dd = thanksgiving - today; // date duration; // 时间差;
std::cout << "has " << dd.days() << " days to thanksgiving."<< std::endl;
}
} {
// 日期操作;
std::cout << std::endl << std::endl;
date today = day_clock::local_day(); // today; // 获取今天日期;
std::cout << today.year() << std::endl; // 打印年;
std::cout << today.month() << std::endl; // 打印月;
std::cout << today.day() << std::endl; // 打印日;
std::cout << today.week_number() << std::endl; // 今年的第几周;
std::cout << today.day_of_week() << std::endl; // 打印星期几;
std::cout << today.day_of_year() << std::endl; // 打印一年中的第几天;
std::cout << today.end_of_month() << std::endl; // 打印本月的最后一天是,闰月的2月,可以试试;
std::cout << today.modjulian_day() << std::endl;
std::cout << today.julian_day() << std::endl;
std::cout << (today.day_of_week() == ) << std::endl; // 判断今天是星期日吗,周日为0;
std::cout << (today.end_of_month() == today) << std::endl; // 判断今天是当月的最后一天吗;
date dateTemp = from_string("2016-11-26");
date_duration dd = dateTemp - today; // 时间差;
std::cout << "subDate = " << dd.days() << std::endl; // 相差多少天;
// 获取指定(11月的第4个星期四)日期;
typedef nth_day_of_the_week_in_month nth_dow;
nth_dow fourth_thur_in_nov(nth_dow::fourth, Thursday, Nov); // 4th thursday in Nov;
date thanksgiving = fourth_thur_in_nov.get_date(today.year()); // get the date this year;
} {
// 时间操作;
ptime timeTemp = second_clock::local_time(); // 获取当前时间,秒级别;
std::cout << timeTemp.time_of_day() << std::endl; // 当前时间;
std::cout << timeTemp.date() << std::endl; // 当前时间对应的日期;
ptime destTime = time_from_string("2016-06-15 17:00:00");
time_duration tt = timeTemp - destTime; // 时间差;
std::cout << "subTime = " << (tt.seconds() >= ) << std::endl; // 相差多少秒;
}
}

boost 日期时间计算的更多相关文章

  1. js日期时间计算天数

    var stime = new Date('2016-03-14'); //开始时间 var etime = new Date('2016-03-20'); //结束时间 var times = et ...

  2. mysql与oracle的日期/时间函数小结

    前言 本文的日期/时间全部格式化为”2016-01-01 01:01:01“形式: MONITOR_TIME为数据库表字段: 字符串与日期/时间相互转换函数 Oracle 日期/时间转字符串函数:to ...

  3. MySQL 日期时间函数

    目录 datetime和timestamp区别: timestamp类型字段特殊性: Mysql获取日期时间函数: now() curdate() curtime() Extract() last_d ...

  4. mysql日期时间类型总结

    MySQL 日期类型:日期格式.所占存储空间.日期范围 比较.  日期类型        存储空间       日期格式                 日期范围  ------------ ---- ...

  5. MySQL 日期时间 专题

    1.1 获得当前日期+时间(date + time)函数:now() 除了 now() 函数能获得当前的日期时间外,MySQL 中还有下面的函数: current_timestamp()   curr ...

  6. Java 之 JDK1.8之前日期时间类

    一.JDK1.8之前日期时间类 二. java.lang.System类 System类提供的public static long currentTimeMillis()用来返回当前时间与1970年1 ...

  7. MySQL日期时间函数大全

    1.获取当前时间+日期 函数now() mysql> select now(); +---------------------+ | now() | +--------------------- ...

  8. 11、Java 日期时间 日期工具类

    一.简介 在Java8之前,日期时间API一直被开发者诟病,包括:java.util.Date是可变类型,SimpleDateFormat非线程安全等问题.故此,Java8引入了一套全新的日期时间处理 ...

  9. [Boost]boost的时间和日期处理-(2)时间的操作

    <开篇> 本篇紧接着boost上篇叙述Boost::DateTime的时间处理.在C++中,常见的时间有time_t, FILETIME和tm,而boost中用ptime. 构造ptime ...

随机推荐

  1. [Usaco2005 Dec]Cleaning Shifts

    [Usaco2005 Dec]Cleaning Shifts 给出n段区间,左右端点分别为\(l_i,r_i\),以及选取这段区间的费用\(c_i\),现在要选出若干个区间,使其完全覆盖区间\([m, ...

  2. leetcode-8-字符串转换整数(atoi)

    题目描述: 方法一:正则 class Solution: def myAtoi(self, str: str) -> int: return max(min(int(*re.findall('^ ...

  3. undertow服务器

    参考地址:http://undertow.io/undertow-docs/undertow-docs-1.3.0/index.html 1.引入相关jar <dependencies> ...

  4. MYSQL - 外键、约束、多表查询、子查询、视图、事务

    MYSQL - 外键.约束.多表查询.子查询.视图.事务 关系 创建成绩表scores,结构如下 id 学生 科目 成绩 思考:学生列应该存什么信息呢? 答:学生列的数据不是在这里新建的,而应该从学生 ...

  5. VS2010-MFC(MFC常用类:CFile文件操作类)

    转自:http://www.jizhuomi.com/software/234.html CFile类概述 如果你学过C语言,应该知道文件操作使用的是文件指针,通过文件指针实现对它指向的文件的各种操作 ...

  6. idea在同一窗口创建多个项目(详细步骤)

    需要创建的项目目录结构 1.file——>项目结构 2.创建一个新的模块

  7. Java A*算法搜索无向图最短路径

    网上看了很多别人写的A*算法,都是针对栅格数据进行处理,每次向外扩展都是直接八方向或者四方向,这样利于理解.每次移动当前点,gCost也可以直接设置成横向10斜向14. 但是当我想处理一个连续的数据集 ...

  8. 0讲Java,给你一条简单清晰的学习道路!

    1. 计算机基础: 1.1 数据结构基础: 主要学习:1.向量,链表,栈,队列和堆,词典.熟悉2.树,二叉搜索树.熟悉3.图,有向图,无向图,基本概念4.二叉搜索A,B,C类熟练,9大排序熟悉.5.树 ...

  9. LeetCode 206.反转链表(Python3)

    题目: 反转一个单链表. 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 进阶:你可 ...

  10. 认识DOM 文档对象模型DOM(Document Object Model)定义访问和处理HTML文档的标准方法。元素、属性和文本的树结构(节点树)。

    认识DOM 文档对象模型DOM(Document Object Model)定义访问和处理HTML文档的标准方法.DOM 将HTML文档呈现为带有元素.属性和文本的树结构(节点树). 先来看看下面代码 ...