C++ chrono 获取当前时间

代码

#include <chrono>
#include <ctime>
#include <iostream>

int main() {
  using namespace std;
  using namespace std::chrono;

  // 获取当前时间
  system_clock::time_point now = system_clock::now();

  // 距离1970-01-01 00:00:00的纳秒数
  chrono::nanoseconds d = now.time_since_epoch();
  cout << "current nanoseconds: " << d.count() << endl;

  // 转换为微秒数, 会有精度损失
  chrono::microseconds mcrosec = chrono::duration_cast<chrono::microseconds>(d);
  cout<<"current microseconds: " << mcrosec.count() << endl;

  // 转换为毫秒数, 会有精度损失
  chrono::milliseconds millsec = chrono::duration_cast<chrono::milliseconds>(d);
  cout<<"current milliseconds: " << millsec.count() << endl;
  
  // 转换为秒数,会有精度损失
  chrono::seconds sec = chrono::duration_cast<chrono::seconds>(d);
  cout<<"current seconds: " << sec.count() << endl;

  // 转换为秒数,会有精度损失
  chrono::minutes minutes = chrono::duration_cast<chrono::minutes>(d);
  cout<<"current minutes: " << minutes.count() << endl;

  // 转换为小时
  chrono::hours hours = chrono::duration_cast<chrono::hours>(d);
  cout<<"current hours: "<<hours.count()<<endl;

  // 转换为天
  typedef chrono::duration<int,ratio<24*60*60>> Day;
  Day days = chrono::duration_cast<Day>(d);
  cout<<"current days: "<<days.count()<<endl;

  // 转换成ctime中的time_t类型
  time_t tt = system_clock::to_time_t(now);

  // 输出时间
  cout << "string format: " << ctime(&tt) << endl;
  return 0;
}

运行结果

在这里插入图片描述

chrono介绍

chrono头文件中主要包括三个类:

更多的信息参考: http://www.cplusplus.com/reference/chrono/

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值