【问题标题】:SimpleDateFormat returns strange date with invalid date stringSimpleDateFormat 返回带有无效日期字符串的奇怪日期
【发布时间】:2014-02-25 15:35:15
【问题描述】:

我尝试解析时间格式化字符串,现在当我解析字符串“2014-01-07 95:25:37”时,它返回一个日期,而不是抛出 ParseException。谁知道如何让它抛出 ParseException 。谢谢乔治。

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

System.out.print(  ft.parse("2014-01-07 95:25:37"));

输出:

Fri Jan 10 23:25:37 EST 2014

【问题讨论】:

    标签: java date simpledateformat


    【解决方案1】:

    问题的原因是时间:95:25:37。 Java 会尝试将这些额外的时间添加到您的日子中,因此您可以获得额外的 3 天。

    为了防止 java 这样做,您可以使用以下内容:

     ft.setLenient(false);
    

    【讨论】:

      【解决方案2】:

      使用setLenient验证输入日期String

      ft.setLenient(false);
      

      【讨论】:

        猜你喜欢
        • 2021-11-17
        • 2023-03-16
        • 2018-05-14
        • 1970-01-01
        • 2020-03-15
        • 2018-02-06
        • 1970-01-01
        • 1970-01-01
        • 2018-11-03
        相关资源
        最近更新 更多