Java 如何检查时间是否存在?

Java 如何检查时间是否存在?,java,datetime,Java,Datetime,我对frdt(输入日期)的输入将为2017-03-27 11:33:21或仅为2017-03-27。 但我有两个条件,如果“2017-03-27”没有时间,它只会运行 frdt = req.getParameter("[FRDT]"); if(isValidDate(frdt)){ frdt = req.getParameter("[FRDT]"); }else{ frdt = formatDt(frdt);

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

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;
}
如果日期包含日期和时间,则会在时间之前添加“T”

在是否包含时间的情况下,如何验证输入

请提出忠告

谢谢并致以最良好的问候
Sharon

您可以检查字符串是否包含“:”字符,或者您可以按空格字符分割字符串,如果长度大于1,则表示您可能有时间输入

您可以检查字符串是否包含“:”字符,或者您可以按空格字符分割字符串,如果长度大于1,则表示您可能有时间输入

我会使用正则表达式

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

我会使用正则表达式

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

检查长度?如果长度超过10,您有日期和时间检查长度?如果超过10,你就有时间约会