boost 日期时间计算
示例代码如下:
#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 日期时间计算的更多相关文章
- js日期时间计算天数
var stime = new Date('2016-03-14'); //开始时间 var etime = new Date('2016-03-20'); //结束时间 var times = et ...
- mysql与oracle的日期/时间函数小结
前言 本文的日期/时间全部格式化为”2016-01-01 01:01:01“形式: MONITOR_TIME为数据库表字段: 字符串与日期/时间相互转换函数 Oracle 日期/时间转字符串函数:to ...
- MySQL 日期时间函数
目录 datetime和timestamp区别: timestamp类型字段特殊性: Mysql获取日期时间函数: now() curdate() curtime() Extract() last_d ...
- mysql日期时间类型总结
MySQL 日期类型:日期格式.所占存储空间.日期范围 比较. 日期类型 存储空间 日期格式 日期范围 ------------ ---- ...
- MySQL 日期时间 专题
1.1 获得当前日期+时间(date + time)函数:now() 除了 now() 函数能获得当前的日期时间外,MySQL 中还有下面的函数: current_timestamp() curr ...
- Java 之 JDK1.8之前日期时间类
一.JDK1.8之前日期时间类 二. java.lang.System类 System类提供的public static long currentTimeMillis()用来返回当前时间与1970年1 ...
- MySQL日期时间函数大全
1.获取当前时间+日期 函数now() mysql> select now(); +---------------------+ | now() | +--------------------- ...
- 11、Java 日期时间 日期工具类
一.简介 在Java8之前,日期时间API一直被开发者诟病,包括:java.util.Date是可变类型,SimpleDateFormat非线程安全等问题.故此,Java8引入了一套全新的日期时间处理 ...
- [Boost]boost的时间和日期处理-(2)时间的操作
<开篇> 本篇紧接着boost上篇叙述Boost::DateTime的时间处理.在C++中,常见的时间有time_t, FILETIME和tm,而boost中用ptime. 构造ptime ...
随机推荐
- android studio toolbar遮挡住下面控件内容
只需要在该控件布局(content_***.xml)加入: app:layout_behavior="@string/appbar_scrolling_view_behavior" ...
- 手写代码注意点 -- HashMap
1.定义 HashMap<String,String> hashMap = new HashMap<>(); <String,String>只需要写一遍 2.获取k ...
- Allegro文档错误之:Iangle 命令
Allegro绘制弧线时,可以使用add rarc命令,或者菜单栏里 Add|Arc w/Radius. 使用该命令时,需要输入3个参数: 1,圆心坐标:如 x –0.3 –0.8 2,半径,以及起始 ...
- 计算几何——判线段规范相交+最短路zoj1721
枚举每个端点,然后i点j点连线作为一条路径,逐一判断这条路径是否可行即可 注意的地方:判一条线段是否可行,需要判其余线段是否和其相交,但是这个相交比较难判(因为会不规范相交),所以将问题转化为墙以外的 ...
- 最近看了关于java的几条帖子,写的不错,总结了一下
1.最开始写代码,例如C语言(“一次编写,到处编译”)都是经过编译后生成汇编码,直接在cpu上执行. 因为不同的硬件架构和操作系统,会导致不同的cpu支持的指令可能不同,也就是说不通类型的cpu所能执 ...
- 关于type return to continue,or q <return> to quit
由于GDB要打印的信息被分页了 所以需要设置不分页显示 set pagination off
- Eclipse添加git插件及操作
注册账号新建仓库 在Github已经注册成功自己的账号 新建一个仓库 创建成功后记住url: 安装Git插件 首先像安装Pydev一样 点击help的Install New Software 点击Ad ...
- JavaScript中定义函数的几种方式
函数的组成:函数名 + 函数体 1.使用function关键字定义函数 -- 具有优先级,优先将function关键字定义的函数优先执行 function functionName(arg0, ar ...
- 小程序跳转传参参数值为url时参数丢失
通过先encodeURIComponent,取到值以后再decodeURIComponent,拼接参数正常传递 A页面 switch: function (e) { var aa = 'UNNZVUf ...
- postgresql数据库安装后的pgadmin4切换中文
如图所示