示例代码如下:

 #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. windows下 Mysql 8.0.x 数据库简单的导出和导入!!!

    1.首先需要进入到mysql安装目录下的bin目录,执行cmd进入命令窗口. 2.导出(导出某个数据库,也可以针对某张表导出)2.1导出数据结构以及数据的命令: mysqldump -u root - ...

  2. 9.spark Core 进阶2--Cashe

          RDD Persistence One of the most important capabilities in Spark is persisting (or caching) a d ...

  3. 利用VS 性能探查器 解决代码性能不高问题

    VS2017 分析-性能探查器 选择你想分析的项目,选择你的分析工具,我这边是遇到了一个cpu爆满的问题 启动后需要点击一下记录cpu,否则会没有后续的分析忘了截图了,下面是出的分析报告,分析时间比较 ...

  4. python 随便笔记

    1 判断字符串中是否有数字 i.isdigit()==True else False #判断是否是数字i.isalpha()==True else False #判断是否是字母 i.isspace() ...

  5. R语言 循环

    R语言循环 可能有一种情况,当你需要执行一段代码几次. 通常,顺序执行语句. 首先执行函数中的第一个语句,然后执行第二个语句,依此类推. 编程语言提供允许更复杂的执行路径的各种控制结构. 循环语句允许 ...

  6. python实现全局配置和用户配置文件

    一.文件目录格式 二.代码 1.conf.__init__.py import importlib import os from conf import gsettings class Setting ...

  7. 小程序唤起App

    小程序[打开App]官方文档 微信开放平台 App分享小程序IOS开发 App分享小程序Android开发

  8. JS 变量的数据类型转换

    变量的类型转换,一般情况是JS自动转换的,但也有些时候需要手动转换. 1.其它类型转成布尔型 函数和方法的区别 Boolean(a)  //函数是可以独立使用的 document.write(a)   ...

  9. 解决jquery调用NET webservice跨域的问题

    声明,解决方案由网上收集而来,个人整理.有别人的,也有我的. 一.webserive端 1.web.config 需要在web.config的configuration节点中加入如下的黑体部分内容. ...

  10. 面试系列19 redis的雪崩和穿透

    缓存雪崩发生的现象 缓存雪崩的事前事中事后的解决方案 事前:redis高可用,主从+哨兵,redis cluster,避免全盘崩溃 事中:本地ehcache缓存 + hystrix限流&降级, ...