温馨提示×

c++中unix时间戳的计算方法有哪些

c++
小樊
81
2024-09-24 21:35:14
栏目: 编程语言

在C++中,计算Unix时间戳(自1970年1月1日00:00:00 UTC以来的秒数)的方法有多种。以下是两种常见的方法:

方法一:使用time()函数和mktime()函数

#include <iostream>
#include <ctime>

int main() {
    // 获取当前时间的秒数(Unix时间戳)
    time_t now = time(0);
    std::cout << "当前Unix时间戳:" << now << std::endl;

    // 将Unix时间戳转换为可读时间
    struct tm *timeinfo = localtime(&now);
    char buffer[80];
    strftime(buffer, sizeof(buffer), "%Y-%m-%d %H:%M:%S", timeinfo);
    std::cout << "当前时间:" << buffer << std::endl;

    return 0;
}

方法二:使用chrono

#include <iostream>
#include <chrono>

int main() {
    // 获取当前时间的秒数(Unix时间戳)
    auto now = std::chrono::system_clock::now();
    std::time_t now_time = std::chrono::system_clock::to_time_t(now);
    std::cout << "当前Unix时间戳:" << now_time << std::endl;

    return 0;
}

这两种方法都可以用于计算Unix时间戳。time()函数和mktime()函数更传统,而chrono库提供了更现代和时间操作的方法。

0