📜  如何在 C++ 中读取计算机当前时间(1)

📅  最后修改于: 2023-12-03 14:52:15.565000             🧑  作者: Mango

如何在 C++ 中读取计算机当前时间

在 C++ 中,可以使用不同的库来读取计算机的当前时间。下面将介绍两种常用的方法:使用 <ctime> 库和使用 <chrono> 库。

1. 使用 <ctime>

<ctime> 库提供了许多关于时间和日期的函数和类型,其中包括读取当前时间的函数。

#include <iostream>
#include <ctime>

int main() {
    // 获取当前时间
    std::time_t currentTime = std::time(nullptr);

    // 将当前时间转换为字符串
    char buffer[80];
    std::strftime(buffer, sizeof(buffer), "%Y-%m-%d %H:%M:%S", std::localtime(&currentTime));

    // 输出当前时间
    std::cout << "当前时间:" << buffer << std::endl;

    return 0;
}

上述代码中,我们先使用 std::time(nullptr) 函数获取当前的时间戳,然后使用 std::strftime 函数将时间戳转换为指定格式的字符串。

输出结果:

当前时间:2022-01-01 10:30:15
2. 使用 <chrono>

<chrono> 库是 C++11 中引入的用于处理时间的库,相较于 <ctime> 库,<chrono> 库提供了更为现代化和类型安全的时间处理方式。

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

int main() {
    // 获取当前时间点
    auto currentTime = std::chrono::system_clock::now();

    // 将当前时间转换为时间结构体
    std::time_t currentTime_t = std::chrono::system_clock::to_time_t(currentTime);

    // 将时间结构体转换为字符串
    char buffer[80];
    std::strftime(buffer, sizeof(buffer), "%Y-%m-%d %H:%M:%S", std::localtime(&currentTime_t));

    // 输出当前时间
    std::cout << "当前时间:" << buffer << std::endl;

    return 0;
}

上述代码中,我们使用 std::chrono::system_clock::now() 函数获取当前的时间点,然后使用 std::chrono::system_clock::to_time_t 函数将时间点转换为时间结构体,最后使用 std::strftime 函数将时间结构体转换为指定格式的字符串。

输出结果与前述相同:

当前时间:2022-01-01 10:30:15

以上就是在 C++ 中读取计算机当前时间的两种常用方法。根据实际需求和个人偏好选择合适的方法即可。