溫馨提示×

strftime函數(shù)在C++中的使用方法是什么

c++
小樊
87
2024-09-06 12:28:20
欄目: 編程語言

strftime 是一個 C 語言庫函數(shù),用于將時間格式化為字符串。在 C++ 中,你可以通過 <ctime> 頭文件使用這個函數(shù)。以下是 strftime 函數(shù)在 C++ 中的基本用法:

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

int main() {
    time_t now = time(0); // 獲取當(dāng)前時間
    struct tm *timeinfo = localtime(&now); // 轉(zhuǎn)換為本地時間

    char buffer[80]; // 存儲格式化后的時間字符串的緩沖區(qū)

    // 使用 strftime 函數(shù)將時間格式化為字符串
    // %Y-%m-%d %H:%M:%S 是時間格式,你可以根據(jù)需要修改
    strftime(buffer, sizeof(buffer), "%Y-%m-%d %H:%M:%S", timeinfo);

    std::cout << "Formatted time: "<< buffer<< std::endl;

    return 0;
}

在這個例子中,我們首先獲取當(dāng)前時間(time_t 類型),然后將其轉(zhuǎn)換為本地時間(tm 結(jié)構(gòu)體)。接下來,我們創(chuàng)建一個字符數(shù)組 buffer 作為存儲格式化后的時間字符串的緩沖區(qū)。最后,我們使用 strftime 函數(shù)將時間格式化為字符串,并將結(jié)果輸出到控制臺。

注意:strftime 函數(shù)的第二個參數(shù)是緩沖區(qū)的大小,確保緩沖區(qū)足夠大以容納格式化后的時間字符串。如果緩沖區(qū)太小,strftime 函數(shù)將無法正確格式化時間。

0