溫馨提示×

如何在C++中使用strftime進行時間戳轉換

c++
小樊
108
2024-09-06 12:38:32
欄目: 編程語言

strftime 是 C++ 標準庫 <ctime> 中的一個函數,用于將 tm 結構體(通常包含日期和時間信息)格式化為一個字符串

#include<iostream>
#include <ctime>
#include <iomanip>

int main() {
    // 獲取當前時間
    std::time_t now = std::time(nullptr);
    
    // 將 time_t 轉換為 tm 結構體
    std::tm* local_time = std::localtime(&now);

    // 創建一個足夠大的字符數組來存儲格式化后的時間戳字符串
    const size_t buffer_size = 100;
    char buffer[buffer_size];

    // 使用 strftime 將 tm 結構體格式化為字符串
    std::strftime(buffer, buffer_size, "%Y-%m-%d %H:%M:%S", local_time);

    // 輸出格式化后的時間戳字符串
    std::cout << "Formatted timestamp: "<< buffer<< std::endl;

    return 0;
}

在這個示例中,我們首先獲取當前時間(以 time_t 類型表示),然后將其轉換為 tm 結構體。接下來,我們創建一個足夠大的字符數組來存儲格式化后的時間戳字符串。最后,我們使用 strftime 函數將 tm 結構體格式化為字符串,并將結果輸出到控制臺。

注意:strftime 函數的第二個參數是緩沖區的大小,確保緩沖區足夠大以容納格式化后的字符串。否則,可能會導致緩沖區溢出錯誤。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女