溫馨提示×

c++中unix時間戳的計算方法有哪些

c++
小樊
81
2024-09-24 21:35:14
欄目: 編程語言

在C++中,計算Unix時間戳(自1970年1月1日00:00:00 UTC以來的秒數(shù))的方法有多種。以下是兩種常見的方法:

方法一:使用time()函數(shù)和mktime()函數(shù)

#include <iostream>
#include <ctime>

int main() {
    // 獲取當前時間的秒數(shù)(Unix時間戳)
    time_t now = time(0);
    std::cout << "當前Unix時間戳:" << now << std::endl;

    // 將Unix時間戳轉(zhuǎn)換為可讀時間
    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() {
    // 獲取當前時間的秒數(shù)(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()函數(shù)和mktime()函數(shù)更傳統(tǒng),而chrono庫提供了更現(xiàn)代和時間操作的方法。

0