C++ 的標準庫 <ctime>
提供了豐富的日期和時間處理功能。以下是一些基本示例,展示了如何使用 C++ 標準庫進行時間處理:
#include <iostream>
#include <ctime>
int main() {
std::time_t now = std::time(nullptr);
std::cout << "當前時間: " << std::ctime(&now) << std::endl;
return 0;
}
#include <iostream>
#include <ctime>
#include <sstream>
int main() {
std::string time_str = "2021-06-01 12:34:56";
std::tm tm = {};
std::istringstream iss(time_str);
iss >> std::get_time(&tm, "%Y-%m-%d %H:%M:%S");
if (iss.fail()) {
std::cerr << "解析時間字符串失敗" << std::endl;
return 1;
}
std::time_t time = std::mktime(&tm);
std::cout << "解析后的時間: " << std::ctime(&time) << std::endl;
return 0;
}
#include <iostream>
#include <ctime>
int main() {
std::time_t now = std::time(nullptr);
std::tm* local_time = std::localtime(&now);
char buffer[80];
std::strftime(buffer, sizeof(buffer), "%Y-%m-%d %H:%M:%S", local_time);
std::cout << "格式化后的時間: " << buffer << std::endl;
return 0;
}
#include <iostream>
#include <ctime>
int main() {
std::time_t now = std::time(nullptr);
std::tm* local_time = std::localtime(&now);
std::time_t later = now + 60 * 60; // 1小時后
std::tm* later_time = std::localtime(&later);
std::cout << "當前時間: " << std::ctime(local_time) << std::endl;
std::cout << "1小時后: " << std::ctime(later_time) << std::endl;
return 0;
}
這些示例展示了如何使用 C++ 標準庫進行基本的時間處理。你可以根據需要調整代碼以滿足特定需求。