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
函數的第二個參數是緩沖區的大小,確保緩沖區足夠大以容納格式化后的字符串。否則,可能會導致緩沖區溢出錯誤。