c++ 使用chrono 统计程序的运行时间


#include <iostream>       // std::cout
#include <chrono>
using namespace std;
int main ()
{

    std::chrono::steady_clock::time_point  now = std::chrono::steady_clock::now();

    cout<<"执行main完毕!"<<endl;
    auto t2 = std::chrono::steady_clock::now();
    std::chrono::duration<double> time_span = std::chrono::duration_cast<std::chrono::duration<double>>(t2 - now);
    printf("%f\n",time_span);
    std::cout << "It took me " << time_span.count() << " seconds.";
    std::cout << std::endl;
    return 0;
}
C++ 中,`<chrono>` 模块提供了一种方便的方式来处理日期和时间,包括精确到毫秒的时间点。如果你想打印年、月、日、时、分、秒和毫秒,你可以使用 `std::chrono::system_clock` 和 `std::chrono::time_point` 类。以下是一个简单的示例: ```cpp #include <iostream> #include <chrono> int main() { // 获取当前时间(以 system_clock 的时间单位) auto now = std::chrono::system_clock::now(); // 将时间转换为可读的格式,比如 `std::chrono::local_time` auto local_time = std::chrono::system_clock::to_local_time(now); // 从 local_time 获取日期和时间 auto time_since_epoch = local_time.time_since_epoch(); auto duration = std::chrono::duration_cast<std::chrono::hours>(time_since_epoch).count(); auto days = duration / (24 * 3600); time_since_epoch -= std::chrono::hours(days * 24); duration = std::chrono::duration_cast<std::chrono::minutes>(time_since_epoch).count(); int hours = duration / 60; duration %= 60; duration = std::chrono::duration_cast<std::chrono::seconds>(time_since_epoch).count(); int minutes = duration / 60; duration %= 60; duration = std::chrono::duration_cast<std::chrono::milliseconds>(time_since_epoch).count(); // 打印日期和时间 std::cout << "Date: " << std::put_time(std::localtime(&local_time), "%Y-%m-%d") << "\n"; std::cout << "Time: " << std::put_time(std::localtime(&local_time), "%H:%M:%S:%03d\n"); return 0; } ``` 这段代码首先获取了当前时间,然后将其转换为本地时间格式,接着分别计算出了年、月、日、小时、分钟和秒数,以及毫秒数。`std::put_time` 函数用于根据指定的格式字符串输出时间。 请注意,这个例子假设你希望按照本地时间进行显示,如果你需要其他时区的格式,你需要调整 `std::localtime` 的部分。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝鲸123

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值