📜  c++ 时分秒 - C++ (1)

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

C++时分秒

在C++中,获取当前时间的时分秒信息可以通过以下几种方式:

1. 使用ctime库
#include <ctime>

int main() {
    time_t now = time(0);
    tm *ltm = localtime(&now);
    int hour = ltm->tm_hour;
    int minute = ltm->tm_min;
    int second = ltm->tm_sec;
    return 0;
}

上面的代码中,我们使用了ctime库中的time()函数获取当前时间戳,然后使用localtime()函数将时间戳转换为本地时区的时间,并返回一个指向tm结构体的指针。最后,我们可以通过访问tm结构体中的成员来获取时分秒信息。

2. 使用chrono库
#include <chrono>

int main() {
    auto now = std::chrono::system_clock::now();
    auto hours = std::chrono::duration_cast<std::chrono::hours>(now.time_since_epoch());
    auto minutes = std::chrono::duration_cast<std::chrono::minutes>(now.time_since_epoch()) - hours;
    auto seconds = std::chrono::duration_cast<std::chrono::seconds>(now.time_since_epoch()) - hours - minutes;
    int hour = hours.count() % 24;
    int minute = minutes.count() % 60;
    int second = seconds.count() % 60;
    return 0;
}

上面的代码中,我们使用了C++ 11引入的chrono库。我们首先获取当前时间,然后将时间戳转换为hours、minutes、seconds三个duration。最后,我们可以通过读取duration的count()方法来获取时分秒信息。

以上两种方法都可以获取当前时间的时分秒信息,可以根据实际情况选择使用哪种方法。