阅读量:3
在 Ubuntu 上使用 C++ 处理日期和时间,你可以使用 和 这两个库。下面是一些基本的示例:
使用 库
是 C++11 引入的一个时间库,提供了高精度的时间测量和操作功能。
示例:获取当前时间并打印
#include
#include
int main() {
auto now = std::chrono::system_clock::now();
auto now_c = std::chrono::system_clock::to_time_t(now);
std::cout << "Current time: " << std::ctime(&now_c);
return 0;
}
示例:计算时间差
#include
#include
int main() {
auto start = std::chrono::high_resolution_clock::now();
// 模拟一些操作
for (int i = 0; i < 1000000; ++i) {
// 做一些事情
}
auto end = std::chrono::high_resolution_clock::now();
auto duration = std::chrono::duration_cast(end - start);
std::cout << "Duration: " << duration.count() << " milliseconds" << std::endl;
return 0;
}
使用 库
是 C 语言中的一个时间库,提供了处理日期和时间的功能。
示例:获取当前日期和时间
#include
#include
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 << "Current date and time: " << buffer << std::endl;
return 0;
}
示例:解析字符串为时间
#include
#include
#include
int main() {
std::string time_str = "2023-10-05 14:30:00";
std::tm tm = {};
std::istringstream ss(time_str);
ss >> std::get_time(&tm, "%Y-%m-%d %H:%M:%S");
if (ss.fail()) {
std::cerr << "Failed to parse time string" << std::endl;
return 1;
}
std::time_t time = std::mktime(&tm);
std::cout << "Parsed time: " << std::ctime(&time);
return 0;
}
总结
库提供了高精度的时间测量和操作功能,适合需要精确时间控制的场景。库提供了处理日期和时间的基本功能,适合简单的日期和时间操作。
你可以根据具体需求选择合适的库来处理日期和时间。
以上就是关于“Ubuntu C++如何处理日期和时间”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm