如何使用c ++检查字符串值是否采用正确的时间格式

时间:2018-04-23 01:39:14

标签: c++11

您可以使用哪些代码来确保输入的时间格式正确

cout<<"What is the time of the event?" << endl;
cin.get();
getline(cin, eventTime);

// eventime is a string 

示例:

用户输入:12:36:27 - &gt;有效

用户输入:25:60:60 - &gt;无效

2 个答案:

答案 0 :(得分:0)

试试这样:

bool checkIfValidTime(std::string const& input) {
    std::regex validTime("([0-9]|0[0-9]|1[0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])");
    return std::regex_match(input, validTime);
}

答案 1 :(得分:0)

只需将字段转换为整数然后检查它们是否在范围内? 请注意,如果您正在进行倒数计时器100秒是合理的请求,但不是1分100秒。