(Visual)C ++ - 比较日期(字符串)

时间:2015-06-21 12:03:23

标签: c++ visual-c++

我写了一个程序,它应该比较以这种格式写的日期:

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”组件抛出了未捕获的异常。

我的问题是,为什么?有人可以帮帮我吗?

0 个答案:

没有答案