首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SimpleDateFormat异常

SimpleDateFormat异常
EN

Stack Overflow用户
提问于 2013-10-29 20:24:15
回答 1查看 84关注 0票数 0

您好,我正在使用SimpleDateFormat解析和比较字符串中的两个日期。以下是我的代码

代码语言:javascript
复制
private static int compareDates(String lineFromFile, String givenDate) throws ParseException, IllegalArgumentException
  {
    SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
    Date dateFromfile = sdf.parse(tmp);
    Date givenDateTime = sdf.parse(givenDate);
    if (dateFromfile.equals(givenDateTime))
    {
        return 0;
    }
    if (dateFromfile.before(givenDateTime))
    {
        return 1;
    }

        return -1;
    } 

下面是一个主要的方法

代码语言:javascript
复制
public static void main(String[] args) {
    try
    {
        int result = compareDates("00:45:44", "09:35:56");
        System.out.println(line);
    }
    catch (ParseException e)

    {
        e.printStackTrace();
        System.out.println("ERROR");
    }

}

当我传递有效的参数时,这是正常的,但是!我希望在传递例如"28:40:04“时有异常,现在我只有在作为包含字母的参数字符串传递时才有异常。

EN

回答 1

Stack Overflow用户

发布于 2013-10-29 20:29:02

您需要将lenient设置为false (默认行为为lenient):

代码语言:javascript
复制
sdf.setLenient(false);

请参阅What is the use of "lenient "?javadoc

指定日期/时间解析是否宽松。通过宽松的解析,解析器可以使用启发式方法来解释与此对象的格式不完全匹配的输入。在严格解析的情况下,输入必须与此对象的格式匹配。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19658137

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档