use*_*194 0 c++ comparison console-application
所以,有两个日期,我必须检查是否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
}
Run Code Online (Sandbox Code Playgroud)
几个小时我一直在努力争取这个.
不使用任何逻辑运算符即可尝试:
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 date2\n");
Run Code Online (Sandbox Code Playgroud)
这不是火箭手术:
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
}
Run Code Online (Sandbox Code Playgroud)
稍微想一想,我相信你可以想出一个更简单的方法.