如何检查表示时间戳的字符串是否是Java中的有效日期?

时间:2015-02-12 22:49:41

标签: java date

之前我检查How do I validate a timestamp?并尝试将代码建立在此基础之上,我有一个日期为String date = "2013-01-28 20:46:34"的字符串,我想通过调用isTimeStampValid来检查是否有效方法,它们的实现是:

    public boolean isTimeStampValid(String timeStamp)
    {
        SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-dd HH-mm:ss");

        try{
            format.parse(timeStamp);
            return true;
        }
        catch(ParseException e) {
            return false;
        }
    }

但该方法返回false,我怀疑“yyyy-MM-dd HH-mm:ss”不正确,但我没有找到任何解决方案(SimpleDateFormat java doc)。如果适当的话,我如何才能返回true方法?

2 个答案:

答案 0 :(得分:4)

你有

SimpleDateFormat("yyyy-MM-dd HH-mm:ss");

String date = "2013-01-28 20:46:34"

他们不匹配。它应该是

SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

:-之间注意HH而不是mm

答案 1 :(得分:2)

将日期格式从"yyyy-MM-dd HH-mm:ss"更改为"yyyy-MM-dd HH:mm:ss"(" - " vs.":")