boost::date_time时间类的使用
#include<boost/date_time/gregorian/gregorian.hpp>
using namespace boost::gregorian;
date类
1、构造:
from_string();使用斜杠和连字符
from_undelmited_string();无分隔符;
day_clock::local_day();返回当天日期
day_clock::universal_day();返回当天日期
2、字符串输出:
to_simple_string();---->YYYY-mm-DD mm是英文
to_iso_string();---->YYYYMMDD
to_iso_extended_string();---->YYYY-MM-DD
to_tm(date) date-->tm;
date_from_rm tm-->date;
date_period类日期区间
begin();
end();
last();
shift(); 平移
expand();两边扩展
contains();包含
intersects();是否存在交集
is_adjacent();
is_before(); 之前
is_after();之后
intersection(); 交集
merge();并集
span();合并两国各日期区间及两者之间的间隔
#include<boost/date_time/posix_time/posix_time.hpp>
using namespace boost::posic_time;
时间长度类
time_duration
duration_from_string();
hour();
minutes()
senconds()
total_senconds();时间长度的总秒数
total_milliseconds();时间长度的总毫秒数
total_microseconds();时间长度的总微秒数
long fractional_seconds();时间长度的总微秒数
to_simple_string();----->HH:MM:SS.ffffff
to_iso_string();----->HHMMSS,ffffff
to_iso_extended_string();----->YYYY-MM-DDTHH:MM:SS,ffffffffff
ptime类:视为 date + duration_time
//格式化字符串
time_from_string("2018-08-12 01:22:03");
from_ios_string("20180812T012203")
//获取本地时间
ptime time= second_clock::local_time();
ptime time =microsec::universal_time();
date d = time.date();
time_duration t=time.time_of_day();
ptime--->tm;
to_tm();
time_period类 :时间区间
#include<boost/date_time/gregorian/gregorian.hpp>
using namespace boost::gregorian;#include<boost/date_time/posix_time/posix_time.hpp>
using namespace boost::posix_time;
#include<boost/format.hpp>
void date_time_() {date d = day_clock::local_day();cout << "date1:" << to_iso_string(d) << endl;d += months(1);d += days(2);cout << "date2:" << to_iso_string(d) << endl;cout << "time to_simple_string :" << to_simple_string(d) << endl;cout << "time to_iso_string :" << to_iso_string(d) << endl;cout << "time to_iso_extended_string :" << to_iso_extended_string(d) << endl;boost::format fm("%04d-%02d-%02d");fm%d.year() % d.month().as_number() % d.day();cout << "time custom_string 1 :" << fm.str() << endl;boost::format fm1("%1%-%2%-%3%");fm.parse("%1%,%2%,%3%");fm%d.year() % d.month().as_number() % d.day();cout << "time custom_string 2 :" << fm.str() << endl;date_period dl(d, date(2019, 3, 6));cout << "begin:" << dl.begin() << endl;cout << "end:" << dl.end() << endl;dl.shift(days(1));cout << "shitf end:" << dl.end() << endl;cout << "contains:"<<dl.contains(date(2019, 2, 2)) << endl;;//----------------------ptime t = second_clock::local_time();d = t.date();time_duration td = t.time_of_day();cout << "time to_simple_string :" << to_simple_string(t) << endl;cout << "time to_iso_string :" << to_iso_string(t) << endl;cout << "time to_iso_extended_string :" << to_iso_extended_string(t) << endl;fm.parse("%04d:%02d:%02d");fm % td.hours()%td.minutes() % td.seconds();cout << "time custom_string 1 :" << fm.str() << endl;td += hours(5);td += minutes(30);cout << "time to_iso_string 2:" << to_iso_string(t) << endl;time_period tp(t, ptime(date(2019, 2, 21), time_duration(2, 33, 3, 333)));cout << tp.length() << endl;;cout << tp.contains(second_clock::local_time())<<endl;
}
boost::date_time时间类的使用相关推荐
- Boost日期时间(date_time)—时间
目录 一.基本介绍 二.时间长度 三.时间精确度 四.时间点(ptime)-基本介绍 五.时间点(ptime)-对象创建 六.时间点(ptime)-基本运用 七.时间区间 八.时间迭代器-个人认为这个 ...
- 服务端统一时间戳 boost::date_time UTC
多服务器在多时区部署时, 需要按utc时间统一计算. 可以使用boost::date_time #include <boost/date_time.hpp> #include <io ...
- 利用boost获取时间并格式化
利用boost来获取当前时间又方便快捷,还不用考虑跨平台的问题. 1. 输出YYYYMMDD [cpp] view plaincopy #include <boost/date_time/gre ...
- Python Qt GUI设计:QCalendar日历类和QDateTimeEdit时间类(基础篇—20)
目录 1.QCalendar日历类 2.QDateTimeEdit时间类 1.QCalendar日历类 QCalendar是一个日历控件,它提供了一个基于月份的视图,允许用户通过鼠标或键盘选择日期,默 ...
- C++实践参考——时间类
[项目 - 时间类]阅读.运行程序后,按要求扩充类的功能 #include <iostream> using namespace std; class Time { public:void ...
- Java基础 ----常用时间类
Java基础 ----常用时间类 java.util.Date java.util.Calendar java.text.SimpleDateFormat new Date().getTime() & ...
- 构造一个日期类java_Java8 新日期时间类(1)
Java.time 包的优势 使用Java8,新的日期时间API引入覆盖旧的日期时间API的以下缺点. 非线程安全 - java.util.Date不是线程安全的,因此开发者必须在使用日期处理并发性问 ...
- 统计函数——汇总统计时间类数据
如下数据源 要求统计各区分关于时间类的数据,如下图: 2至5列数据,如下设置公式并向下拖动: B列[接收数]:因为时间日期类数据在Excel中是一个数值,因此可以利用Count函数获取包含数值的个数 ...
- java web日期_java-web——第十一课 时间类
前言: 在我们学习java web之中,实体类的属性经常会遇到时间类 时间类也是一个很重要的类, 首先我们先了解一下经常使用的时间类 经常使用的时间类也就是这三个类 具体的可以查阅api 我们这章主要 ...
最新文章
- 一次HP 阵列卡排障
- c语言gcno文件位置,makefile - 具有覆盖率的CMake Ninja将gcno文件放在根二进制目录中 - 堆栈内存溢出...
- 计算机上开发和运行应用程序与操作系统无关,计算机期中测验理论部分和答案-C.doc...
- Vue.js2.0开发环境搭建(二)
- 大话设计模式之设计模式遵循的七大原则
- 恕我直言,你的模型可能并没看懂 prompt 在说啥
- 极速体验:Oracle 18c 下载和Scalable Sequence新特性
- 浅析.Net 在 winform及wpf中涉及界面交互的多线程类的封装
- UCloud可支撑单可用区320,000服务器的数据中心网络系统设计
- scapy获取ip_如何使用scapy从数据包中读取整个ip层和tcp层?
- 前端ajax token,jQury Ajax使用Token验证身份实例代码_白江_前端开发者
- 2023年东大学机械专硕考研上岸经验分享
- 智慧(灯杆)路灯系统集成解决方案详解
- FPGA实现cameralink高清相机解码
- php从文件中查找内容
- Golang的chan阻塞测试
- android 自定义locale,关于android:设置Locale.setDefault(locale)后,如何获取手机语言?...
- 云中取物--app端的日志采集系统
- 微信域名防封技术,我们应该如何解决屏蔽拦截
- 无线射频芯片CC2540F256RHAR 中文资料介绍
热门文章
- 文件服务器搭建_小型企业文件存储服务器的搭建四部曲
- 电力装置的继电保护和自动装置设计规范_继电保护装置升级到微机保护装置
- 简单选择排序验证性实验
- python pip下载本地依赖包,并在离线环境中安装,并解决报错ERROR: Could not find a version that satisfies the requirement报错
- 多进程IterableDataset流式读取数据的坑:每个进程会读取一遍完整数据
- pytorch构造IterableDataset,流式读取文件夹,文件夹下所有大数据文件,逐个文件!逐行读取!(pytorch Data学习四)
- Mac jupyter 绘制matplotlib图像解决中文空格的问题
- qt5 交叉编译webkit_Qtwebkit配置,设置交叉编译环境 - croop520的专栏 - 博客频道 - CSDN.NET...
- 医用应用计算机,计算机在医疗方面应用.doc
- c# xls 复制一行_编写干净的C#代码技巧