c++11 时间戳
来源:互联网 发布:福彩3d矩阵图 编辑:程序博客网 时间:2024/05/16 18:25
chrono库包含3种类型:时间间隔duration、时间点time point和时钟clocks
1、时间段:duration、duration_cast
原型:template<class Rep, class Period = std::ratio<1, 1>> class duration; //std::ratio<p1, p2>是一个分数, p1为分子, p2为分母, 默认为1, 1;例:在chrono命名空间下, 时、分、秒、毫秒、微妙、纳秒的定义
typedef duration<long long, nano> nanoseconds; //typedef ratio<1, 1000000000> nano;
typedef duration<long long, micro> microseconds; //typedef ratio<1, 1000000> micro;
typedef duration<long long, milli> milliseconds; //typedef ratio<1, 1000> milli;
typedef duration<long long> seconds;
typedef duration<int, ratio<60> > minutes;
typedef duration<int, ratio<3600> > hours;
用法:std::this_thread::sleep_for(std::chrono::milliseconds(500)); 当前线程休息500毫秒
获取时钟周期数:count()
hours h(3);
h.count();
2、时间点:time point
①time_since_epoch() 获得1970年1月1日到time_point()时间经过的duration
用法:获取子1970以来的天数
typedef std::chrono::duration<int, std::ratio<3600 * 24>> day_types;
std::chrono::time_point<system_clock, day_types> today = std::chrono::system_clock:now(); //获取当前时间, day_types为自定义类型天, 也可以为系统类型seconds等,也可以省略;
std::cout<<today.time_since_epoch().cout(); //打印自1970年到today的天数
②格式化输出时间点(vs2013以上版本才支持)
std::chrono::system_clock::time_point now = std::chrono::system_clock::now();
std::time_t last = system_clock::to_time_t(now - hours(24)); //将一个time_point转化为ctime, 与之对应的函数from_time_t将ctime转化为time_point
std::put_time(std::localtime(&last), "%F %T")<<'\n'; -->2015-10-20 16:04:11 //格式化输出, 此函数必须vs2013以上版本才支持, 其它格式"%Y-%m-%d %H:%M:%S";
3、时钟clocks
①system_clock: 系统时间
②steady_clock: 不能被调整的时钟, 保证先后调用now()得到的时间值是不会递减的;
③high_resolution_clock: 高精度时钟
例:std::chrono::system_clock::time_point t1 = std::chrono::system_clock:now(); //获取当前时间点
std::chrono::system_clock::time_point t2 = std::chrono::system_clock::now();
std::cout<<std::chrono::duration_cast<std::chrono::milliseconds>(t2 - t1).count()<<'\n'; //打印时间差
0 0
- iOS C时间戳
- 【c#】时间戳转化-应用
- c时间日期与时间戳的转换
- unix时间戳转换成标准时间(c#)
- C实现Unix时间戳和本地时间转化
- C实现Unix时间戳和本地时间转化
- 【c++】面试题:----根据Unix时间戳计算时间
- Objective-C - 获取毫秒时间戳:
- Objective-C - 获取毫秒时间戳
- 如何获取Unix时间戳[C++]
- C/C++毫秒时间戳函数
- [c/c++] 时间、日期处理
- C/C++/MFC时间用法
- [C-C++]获取系统时间
- C/C++-技巧-获取时间
- C语言时间处理
- C时间函数集
- C时间处理函数
- Cocoa框架图
- iOS---自定义带占位文字placeholder的TextView
- c++11 宽字节与窄字节的相互转换
- SpringIoC初始化BeanDefinition解析——注册
- NDK浅尝(1)
- c++11 时间戳
- 理解矩阵
- 富翁手机游戏开发实战----书中代码下载地址
- C语言--指针的使用
- CentOS6下SVN服务器的搭建
- 数据结构小结
- JAVA中,嵌套类的介绍
- 苹果
- Opnet moduler学习过程的个人见解