我写了一个程序,它应该比较以这种格式写的日期:
dd.mm.yyyy (German format)
例如
31.12.2019 or 06.03.2018
我写过这个函数来比较日期:比较
bool compareDates(string s1, string s2) {
int day_1 = atoi(s1.substr(0, 2).c_str());
int month_1 = atoi(s1.substr(3, 2).c_str());
int year_1 = atoi(s1.substr(6, 4).c_str());
int day_2 = atoi(s2.substr(0, 2).c_str());
int month_2 = atoi(s2.substr(3, 2).c_str());
int year_2 = atoi(s2.substr(6, 4).c_str());
if (year_1 > year_2) return true;
else if (year_1 < year_2) return false;
if (month_1 > month_2) return true;
else if (month_1 < month_2) return false;
if (day_1 > day_2) return true;
else if (day_1 < day_2) return false;
return true;
}
如果date1(s1)大于date2(s2),则函数返回“true”,否则返回“false”。
我使用这样的代码:
if(compairDates("21.09.2016", "18.07.2019")) MessageBox::Show("true");
else MessageBox::Show("false");
如果现在运行我的代码,我会收到一条错误消息,告诉我,“extern”组件抛出了未捕获的异常。
我的问题是,为什么?有人可以帮帮我吗?