如何检查时间是否存在?

时间:2017-03-27 08:58:17

标签: java datetime

frdt = req.getParameter("[FRDT]");


        if(isValidDate(frdt)){
            frdt = req.getParameter("[FRDT]");
        }else{
            frdt = formatDt(frdt);
        }

    private static boolean isValidDate(String input) {
    String formatString = "YYYY-MM-dd";

    try {
        SimpleDateFormat format = new SimpleDateFormat(formatString);
       format.setLenient(true);
        format.parse(input);
    } catch (ParseException e) {
        return false;
    } catch (IllegalArgumentException e) {
        return false;
    }

    return true;
}

我对frdt(输入日期)的输入将是2017-03-27 11:33:21或2017-03-27。 但我有两个条件,如果只是'2017-03-27'没有时间,它只会运行

frdt = req.getParameter("[FRDT]");

如果日期包括日期和时间,则会在时间之前添加“T”。

如何验证包含时间的输入?

请提出建议。

谢谢和最诚挚的问候 沙龙

2 个答案:

答案 0 :(得分:0)

您可以检查String是否包含':'字符,否则您可以按空格字符分割String,如果length大于1,则表示您可能有时间输入。

答案 1 :(得分:0)

我会使用正则表达式。

if (input.matches("\\d{4}-\\d{2}-\\d{2}")) {
    ...
}