C++计算两个日期年月日的天数差值
时间: 2023-07-11 20:19:41 浏览: 102
可以使用C++标准库中的<chrono>和<ctime>来计算两个日期之间的天数差值。以下是一个示例程序,它计算两个日期之间的天数差值:
```cpp
#include <chrono>
#include <ctime>
#include <iostream>
using namespace std;
using namespace std::chrono;
int main()
{
int year1, month1, day1, year2, month2, day2;
cout << "请输入第一个日期(年 月 日):" << endl;
cin >> year1 >> month1 >> day1;
cout << "请输入第二个日期(年 月 日):" << endl;
cin >> year2 >> month2 >> day2;
// 将输入的日期转换为time_point类型
time_point<system_clock> time1 = system_clock::from_time_t(mktime(&tm{0, 0, 0, day1, month1-1, year1-1900, 0, 0, -1}));
time_point<system_clock> time2 = system_clock::from_time_t(mktime(&tm{0, 0, 0, day2, month2-1, year2-1900, 0, 0, -1}));
// 计算两个日期的时间间隔
auto diff = duration_cast<days>(time2 - time1);
cout << "两个日期之间的天数差值为:" << diff.count() << " 天" << endl;
return 0;
}
```
程序中使用了<chrono>库中的time_point类型和duration类型来表示日期和时间间隔,使用<ctime>库中的mktime函数将输入的日期转换为time_point类型。最后使用duration_cast函数将时间间隔转换为天数。