如何在C++中获取当前时间和日期?

27 浏览
0 Comments

如何在C++中获取当前时间和日期?

有没有跨平台的方法在C++中获取当前日期和时间?

admin 更改状态以发布 2023年5月22日
0
0 Comments

C++与C共享其日期/时间函数。对于C ++程序员来说,tm结构可能是最容易使用的 - 以下内容可打印今天的日期:

#include 
#include 
int main() {
    std::time_t t = std::time(0);   // get time now
    std::tm* now = std::localtime(&t);
    std::cout << (now->tm_year + 1900) << '-' 
         << (now->tm_mon + 1) << '-'
         <<  now->tm_mday
         << "\n";
}

0
0 Comments

从C++ 11开始,可以使用std::chrono::system_clock::now()

例子(从en.cppreference.com复制):

#include 
#include 
#include     
int main()
{
    auto start = std::chrono::system_clock::now();
    // Some computation here
    auto end = std::chrono::system_clock::now();
    std::chrono::duration elapsed_seconds = end-start;
    std::time_t end_time = std::chrono::system_clock::to_time_t(end);
    std::cout << "finished computation at " << std::ctime(&end_time)
              << "elapsed time: " << elapsed_seconds.count() << "s"
              << std::endl;
}

这个应该会打印出如下内容:

finished computation at Mon Oct  2 00:59:08 2017
elapsed time: 1.88232s

0