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 ...
随机推荐
- Dom关于位置和尺寸的api
parentNode 直接父级//和offsetParent不同 inner2.parentNode <!DOCTYPE html> <html id="html&q ...
- Idea jsp页面乱码
jsp页面中添加 <%@ page language="java" contentType="text/html; charset=utf-8" page ...
- CSS——元素的显示与隐藏
元素的显示与隐藏 在CSS中有三个显示和隐藏的单词比较常见,我们要区分开,他们分别是 display visibility 和 overflow. 他们的主要目的是让一个元素在页面中消失,但是不在文档 ...
- Arcmap中处理面图层中空白碎片
在面数据中,有时候在一个面要素中会出现碎片,而我们大多时候不希望这些碎片存在(图1),下面介绍通过Editor工具把这些碎片处理掉.
- iOS扩展Extension之Today
1.简介 扩展(Extension)是iOS 8中引入的一个新特性.扩展让app之间的数据交互成为可能.在iOS 8系统之前,每一个app在物理上都是彼此独立的,app之间不能互访彼此的私有数据.而在 ...
- day20_函数的闭包 与 装饰器
#!/usr/bin/env python # -*- coding:utf-8 -*- # # 一些文章 # https://www.cnblogs.com/Vae1242/p/6944338.ht ...
- IK分词器插件
(1)源码 https://github.com/medcl/elasticsearch-analysis-ik (2)releases https://github.com/medcl/elast ...
- Java中String str=new String("a")和String str = "a"有什么区别?
Q: String A="ABC"; String B=new String("ABC"); 这两个值,A,B 是否相等,如果都往HashSet里面放,能放下吗 ...
- ReadyAPI创建功能测试的多种方法
原文:ReadyAPI创建功能测试的多种方法 声明:如果你想转载,请标明本篇博客的链接,请多多尊重原创,谢谢! 本篇使用的 ReadyAPI版本是2.5.0 在ReadyAPI中有多种方法可以创建功能 ...
- No converter found for return value of type: class com.alibaba.fastjson.JSON解决办法
默认情况下,springMVC的@ResponseBody返回的是String类型,如果返回其他类型则会报错.使用fastjson的情况下,在springmvc.xml配置里加入: <mvc:a ...