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++ 标准库进行基本的时间处理。你可以根据需要调整代码以满足特定需求。