localtime
是C++標準庫中的一個函數,用于將一個std::time_t
類型的時間戳轉換為可讀的本地時間(即包含日期和時間的結構體)
包含頭文件:
在代碼中包含<ctime>
頭文件,以便使用localtime
函數。
#include <ctime>
使用time_t
類型存儲時間戳:
time_t
是一個無符號整數類型,用于存儲自1970年1月1日(UTC)以來的秒數。你可以使用std::time
函數獲取當前時間戳。
std::time_t currentTime = std::time(nullptr);
使用localtime
函數轉換時間戳:
localtime
函數接受一個const time_t*
類型的參數(即時間戳),并返回一個指向std::tm
結構體的指針。這個結構體包含了本地時間的日期和時間信息。
std::tm localTime = *std::localtime(¤tTime);
輸出本地時間:
使用std::cout
和std::put_time
函數輸出本地時間。std::put_time
是一個格式化輸出函數,它使用std::tm
結構體中的信息來生成可讀的字符串。
std::cout << "Local time: " << std::put_time(&localTime, "%Y-%m-%d %H:%M:%S") << std::endl;
下面是一個完整的示例程序:
#include <iostream>
#include <ctime>
int main() {
// 獲取當前時間戳
std::time_t currentTime = std::time(nullptr);
// 將時間戳轉換為本地時間
std::tm localTime = *std::localtime(¤tTime);
// 輸出本地時間
std::cout << "Local time: " << std::put_time(&localTime, "%Y-%m-%d %H:%M:%S") << std::endl;
return 0;
}
這個程序將輸出當前本地時間,格式為YYYY-MM-DD HH:MM:SS
。你可以根據需要調整std::put_time
中的格式字符串。更多格式化選項可以參考C++標準庫文檔:https://en.cppreference.com/w/cpp/io/manip/put_time