Simpledataformat无法识别有效字符串

时间:2016-05-05 21:44:11

标签: java simpledateformat

  public static boolean checkTimeFormat(String str){

    try {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        sdf.parse(str);
        return true;
    } catch (ParseException ex) {
        System.out.println("not a valid time:"+str);
        //ex.printStackTrace();
    }

return false;
}

我有这种方法来检查str是否格式正确 我对它进行了测试

 2015–01-01 07:01:14

并且它说的不是有效时间。我很困惑,因为它们的格式相同。

1 个答案:

答案 0 :(得分:7)

您的示例字符串的第一个连字符的字符错误。它是EN-DASH,又名unicode代码点U + 2013。用普通连字符(U + 002D)替换它将正常工作。