strftime
是 C++ 標準庫中的一個函數,用于將 tm
結構體(包含日期和時間信息)格式化為字符串。以下是如何在 C++ 中使用 strftime
的示例:
#include<iostream>
#include <ctime>
#include <iomanip>
int main() {
time_t now = time(0); // 獲取當前時間
struct tm *timeinfo = localtime(&now); // 轉換為本地時間
char buffer[80]; // 存儲格式化后的時間字符串的緩沖區
// 使用 strftime 格式化時間
strftime(buffer, sizeof(buffer), "%Y-%m-%d %H:%M:%S", timeinfo);
std::cout << "Formatted time: "<< buffer<< std::endl;
return 0;
}
在這個示例中,我們首先獲取當前時間(以 time_t
類型表示),然后將其轉換為 tm
結構體(本地時間)。接下來,我們創建一個字符緩沖區,用于存儲格式化后的時間字符串。最后,我們使用 strftime
函數將 tm
結構體格式化為指定格式的字符串,并將結果輸出到控制臺。
strftime
函數的第一個參數是字符緩沖區,第二個參數是緩沖區的大小,第三個參數是格式化字符串,第四個參數是要格式化的 tm
結構體。格式化字符串可以包含各種格式說明符,例如 %Y
表示年份,%m
表示月份,%d
表示日期,%H
表示小時,%M
表示分鐘,%S
表示秒等。更多格式說明符可以參考 cppreference.com。