C++设计一个计算天数的函数
时间: 2023-12-07 17:03:18 浏览: 76
可以使用C++11中的chrono库来实现计算天数的功能,实现代码如下:
```c++
#include <iostream>
#include <chrono>
using namespace std;
using namespace std::chrono;
// 计算两个时间点之间的天数
int count_days(system_clock::time_point start, system_clock::time_point end) {
auto duration = duration_cast<days>(end - start); // 计算两个时间点之间的天数
return duration.count(); // 返回天数
}
int main() {
time_t start_time, end_time;
cout << "Enter start time (YYYY-MM-DD): ";
cin >> get_time(localtime(&start_time), "%Y-%m-%d"); // 读入开始时间
cout << "Enter end time (YYYY-MM-DD): ";
cin >> get_time(localtime(&end_time), "%Y-%m-%d"); // 读入结束时间
auto start = system_clock::from_time_t(start_time); // 转换为时间点
auto end = system_clock::from_time_t(end_time); // 转换为时间点
int days = count_days(start, end); // 计算天数
cout << "Days between " << put_time(localtime(&start_time), "%Y-%m-%d") << " and " << put_time(localtime(&end_time), "%Y-%m-%d") << ": " << days << endl; // 输出结果
return 0;
}
```
该函数接受两个time_t类型的时间参数,表示开始时间和结束时间。首先使用get_time函数将输入的字符串转换为时间类型,然后将时间转换为时间点。接着调用count_days函数计算两个时间点之间的天数,并输出结果。在主函数中,首先读入用户输入的开始时间和结束时间,然后调用count_days函数计算天数并输出结果。
阅读全文