【问题标题】:How to check whether time exists?如何判断时间是否存在?
【发布时间】:2017-03-27 08:58:16
【问题描述】:
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'。

如何验证输入是否包含时间?

请多多指教。

感谢和最好的问候 沙龙

【问题讨论】:

  • 检查长度?如果它超过 10,你有日期与时间

标签: java datetime


【解决方案1】:

您可以检查字符串是否包含':'字符,或者您可以通过空格字符分割字符串,如果长度大于1,则表明您可能有时间输入。

【讨论】:

    【解决方案2】:

    我会使用正则表达式。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-12
      • 2021-07-26
      • 2013-10-31
      • 1970-01-01
      • 1970-01-01
      • 2010-12-05
      • 2010-12-30
      • 2011-07-14
      相关资源
      最近更新 更多