如何比较程序中的两个日期
How to compare two dates in a program?
所以,有两个日期,我必须检查date1
是否比date2
更远。最好的方法是什么?
int date1_day = 21, date1_month = 1, date1_year = 1990;
int date2_day = 19, date2_month = 5, date2_year = 1989;
if(???)
{
// date1 is further away
}
我已经纠结了好几个小时了
尝试不使用任何逻辑运算符:
int date1 = date1_day + date1_month*100 + date1_year*10000;
int date2 = date2_day + date2_month*100 + date2_year*10000;
if(date1 > date2)
printf("date1 is further away than date2n");
这不是火箭手术:
if ( date1_year > date2_year ||
(date1_year == date2_year && date1_month > date2_month) ||
(date1_year == date2_year && date1_month == date2_month && date1_day > date2_day))
{
// date1 is further away
}
与Paul, R的5个逻辑运算符和6个比较符相比,这里的版本有4个逻辑运算符和5个比较符):
if(date1_year>date2_year ||
(date1_year==date2_year && (date1_month>date2_month
|| (date1_month==date2_month && date1_day>date2_day))))
您可以使用<tuple>
中的std::tie
来按字典顺序比较多个变量。
if (std::tie(date1_year, date1_month, date1_day) >
std::tie(date2_year, date2_month, date2_day))
{
// date1 is further away
}
相关文章:
- 如何找到两个日期之间的时间差异(以秒和纳秒为单位)?
- CPP 程序二查找两个给定日期之间的天数,conol CMD
- 解决方案在两个日期之间的天数内不起作用
- 使用 c++ 获取两个日期与时间字符串之间的差异(以秒为单位)
- C 的两个日期之间的差异
- 如何使用C Win32 API计算两个日期之间的天数
- 连接两个time_t值的日期和时间
- 如何比较C++中的两个日期
- 在C++中添加两个日期
- 两个日期之间的 C++ 日期差异
- 两个对象之间的日期比较
- visual如何在C++中比较两个日期
- 两个日期之间的总天数
- 两个日期之间的秒差
- 用c++计算两个日期的差异
- QDate -在两个日期之间搜索
- 如何比较程序中的两个日期
- C++-比较两个日期
- 比较来自字符串、char*或int的两个日期
- 如何使用boost::date_time获取两个日期之间的天数