C++11 提供了新的获取系统时间的库函数,在获取时间的时候一般常用的是获取time since epoch,下面来看一下如何获取这个时间。

#include <iostream>
#include <chrono>
#include <ctime>
#include <sys/time.h>
#include <cstdint>
constexpr int microSecPerSec = 1000000;
 
int main()
{
    std::chrono::time_point<std::chrono::system_clock> p1, p2, p3;
    struct timeval tv;
    int64_t mSecond;
 
    p2 = std::chrono::system_clock::now();
    p3 = p2 - std::chrono::hours(24);
    gettimeofday(&tv,NULL);
    mSecond = tv.tv_sec ;
 
    std::time_t epoch_time = std::chrono::system_clock::to_time_t(p1); // seconds
    std::cout << "epoch: " << std::ctime(&epoch_time);
    std::time_t today_time = std::chrono::system_clock::to_time_t(p2);
    std::cout << "today: " << std::ctime(&today_time);
 
    std::cout << "hours since epoch: "
                << std::chrono::duration_cast<std::chrono::hours>(  //hours
                  p2.time_since_epoch()).count() 
                << std::endl;
                
    std::cout << "yesterday, hours since epoch: "
                << std::chrono::duration_cast<std::chrono::hours>(
                  p3.time_since_epoch()).count() 
                << std::endl;
              
    std::cout << "Microseconds since epoch: (chrono) : "  //microseconds
                << std::chrono::duration_cast<std::chrono::microseconds>(p2.time_since_epoch()).count() // p2 - p1 ==
                <<std::endl;
                
    std::cout << "Microseconds since epoch: (gettimeofday) :" << mSecond * microSecPerSec + tv.tv_usec 
                <<std::endl;
                
    return 0;
}

结果:

C:\Users\zhuyp\Desktop\tmp>cpp_time
epoch: Thu Jan 01 08:00:00 1970
today: Fri Jan 24 23:51:10 2014
hours since epoch: 386271
yesterday, hours since epoch: 386247
Microseconds since epoch: (chrono) : 1390578670080869
Microseconds since epoch: (gettimeofday) :1390578670080869

C++11 获取系统时间库函数 time since epoch相关推荐

  1. C++11新特性,利用std::chrono精简传统获取系统时间的方法

    一.传统的获取系统时间的方法 传统的C++获取时间的方法须要分平台来定义. 相信百度代码也不少. 我自己写了下,例如以下. const std::string getCurrentSystemTime ...

  2. c 获取当前时间插入oracle数据库,Oracle如何获取系统当前时间等操作实例,c++获取系统时间...

    Oracle如何获取系统当前时间等操作实例,c++获取系统时间 获取系统当前时间 date类型的 select sysdate from dual; char类型的 select to_char(sy ...

  3. VC++ 获取系统时间的方法汇总

    1.使用CTime类(获取系统当前时间,精确到秒) ? 1 2 3 4 5 6 CString str; //获取系统时间 CTime tm; tm=CTime::GetCurrentTime();/ ...

  4. c++ 如何获取系统时间

    DoubleSnake   转载http://blog.csdn.net/zjnig711/article/details/2419081 c++ 如何获取系统时间 2008-04-28 15:34 ...

  5. 获取系统时间出错oracle-,oracle 获取系统时间(转)

    Oracle中如何获取系统当前时间 select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual; ORACLE里获取一个时间的年.季.月.周.日 ...

  6. android 获取系统时间的时间戳 ,时间戳日期互转,计算日期时间差,获取明天日期,比较时间大小

    long creatTime=mBindCheck.remainPaymentTime; int shi = (int)mBindCheck.remainPaymentTime/(3600*1000) ...

  7. linux获得系统时间 c,linux c 获取系统时间

    #include main() { time_t timep; time (&timep); printf("%s",asctime(gmtime(&timep)) ...

  8. 使用Calender类获取系统时间和时间和运算

    使用Calender类获取系统时间和时间和运算: 1 @Test 2 public void testCal(){ 3 //使用Calender对象获取时间,并对时间进行计算: 4 Calendar ...

  9. Linux C/C++ 获取系统时间

    Linux C/C++ 获取系统时间 概述 C 标准库提供了 time() 函数与 localtime() 函数可以获取到当前系统的日历时间,但 time() 函数精度只能到秒级,如果需要更高精度的系 ...

最新文章

  1. 银河麒麟svn: E215000: GNOME Keying被锁定,并且我们处于非交互方式
  2. 张萍萍 计科高职13-1 201303014010
  3. 【QGIS入门实战精品教程】2.1:初识QGIS软件
  4. 初一模拟赛总结(5.11)
  5. IntelliJ IDEA 自动补全变量名称和变量类型(自动补全变量的声明内容)
  6. Airflow 中文文档:API 参考
  7. 使用matplotlib绘制高级图表
  8. 2021-07-21
  9. IIS 环境下 PHP无法显示错误信息------500错误
  10. 6.5编程实例-立方体透视投影
  11. 我的世界java版gamemode指令_我的世界(电脑Java版)简单又好玩指令教程
  12. 奔图P3022D黑白激光打印机 评测
  13. 浅析B树、B+树插入删除操作(附代码实现)
  14. python九宫格拼图_Python切割图片成九宫格
  15. C语言函数和主函数的调用
  16. MQ集群(rabbitMQ)
  17. Navicat for Mysql注册(Navicat 8.2 MySQL 8.2.17注册码)写入注册码后,点不动确认键
  18. php中until的用法,until用法解析(完美篇)
  19. html+CSS的QQ注册界面练习
  20. java设计模式六大原则之场景应用分析

热门文章

  1. Chef框架之Cookbook的介绍及应用
  2. 透视变换原理实例代码详解
  3. android 床头闹钟,史上最强"叫床"闹钟!让你再也睡不着啦~~(支持 Android)
  4. 【数据结构 C描述】有两个整数集合 A 和 B 分别用两个线性表 LA 和 LB 表示,求:一个新的集合A=A∪B,A仍然为纯集合,线性表采用链式存储方式。【单链表】
  5. 设计计算机系统,紫外可见分光光度计的计算机系统设计
  6. BigDecimal 进行四舍五入 四舍六入和保留两位小数,三位四位小数
  7. 从微信小程序谈起,对企业级平台的理解
  8. 查看 k8s各版本 对应 各组件版本
  9. STC89C52开发学习(一)
  10. Rserver部分配置