strftime
是 C++ 標準庫中的一個函數,用于將 tm
結構(包含日期和時間信息)格式化為字符串。但是,strftime
本身并不執行日期計算。要在 C++ 中進行日期計算,可以使用
下面是一個簡單的示例,展示了如何在 C++ 中使用庫進行日期計算,并使用
strftime` 將結果格式化為字符串:
#include<iostream>
#include <iomanip>
#include <ctime>
#include<chrono>
int main() {
// 獲取當前日期和時間
auto now = std::chrono::system_clock::now();
// 計算一周后的日期和時間
auto one_week_later = now + std::chrono::hours(24 * 7);
// 將計算結果轉換為 std::time_t
std::time_t one_week_later_time_t = std::chrono::system_clock::to_time_t(one_week_later);
// 將 std::time_t 轉換為 tm 結構
std::tm* one_week_later_tm = std::localtime(&one_week_later_time_t);
// 使用 strftime 將 tm 結構格式化為字符串
char buffer[100];
std::strftime(buffer, sizeof(buffer), "%Y-%m-%d %H:%M:%S", one_week_later_tm);
// 輸出結果
std::cout << "One week later: "<< buffer<< std::endl;
return 0;
}
這個示例首先獲取當前日期和時間,然后計算一周后的日期和時間。接下來,它將計算結果轉換為 std::time_t
,然后將其轉換為 tm
結構。最后,它使用 strftime
將 tm
結構格式化為字符串,并輸出結果。