C++完成两个日期之间相隔天数的计算
作者:野牛程序员:2023-12-13 18:58:20 C++阅读 2940
C++中,可以使用以下的代码来计算两个日期之间的天数差异。这里我使用了C++的 chrono 库来处理日期和时间。
#include <iostream>
#include <chrono>
int main() {
// 输入日期1
std::cout << "请输入第一个日期(年 月 日): ";
int year1, month1, day1;
std::cin >> year1 >> month1 >> day1;
// 输入日期2
std::cout << "请输入第二个日期(年 月 日): ";
int year2, month2, day2;
std::cin >> year2 >> month2 >> day2;
// 构建tm结构体
std::tm tm1 = {0, 0, 0, day1, month1 - 1, year1 - 1900};
std::tm tm2 = {0, 0, 0, day2, month2 - 1, year2 - 1900};
// 使用mktime获取time_t
std::time_t time1 = std::mktime(&tm1);
std::time_t time2 = std::mktime(&tm2);
// 构建日期对象
std::chrono::system_clock::time_point date1 = std::chrono::system_clock::from_time_t(time1);
std::chrono::system_clock::time_point date2 = std::chrono::system_clock::from_time_t(time2);
// 计算日期差异
std::chrono::duration<int, std::ratio<60 * 60 * 24>> days = std::chrono::duration_cast<std::chrono::duration<int, std::ratio<60 * 60 * 24>>>(date2 - date1);
// 输出结果
std::cout << "两个日期之间相隔的天数是: " << days.count() << " 天" << std::endl;
return 0;
}野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892

- 上一篇:c++输出保留两位小数要怎么写
- 下一篇:python字典求平均成绩
