C++完成两个日期之间相隔天数的计算
作者:野牛程序员:2023-12-13 18:58:20 C++阅读 2707
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字典求平均成绩