不可稀释的日期,在Java中有额外的数字

前端之家收集整理的这篇文章主要介绍了不可稀释的日期,在Java中有额外的数字前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这段代码有什么问题?我试图解析几个月和几个月之间的日期格式.
import java.text.SimpleDateFormat;

class Main {
    public static void main(String[] args) {
        SimpleDateFormat format = new SimpleDateFormat("yyyy'0'MMdd");
        try {
            Date date = format.parse("201600101");
            System.out.println(date);
        } catch (Exception ex) {
            System.out.println(ex.getMessage());
        }
    }
}

这将输出不可稀释日期:“201600101”.如果我将“0”更改为数字[ ‘X’和format.parse(“2016X0101”)]这将工作.

解决方法

正如彼得·劳瑞(Peter Lawrey)所说,Java认为“2016年”是一年.您可以通过将“201600101”修改为例如2016-00101来解决问题,并将格式模式重构为
SimpleDateFormat format = new SimpleDateFormat("yyyy-'0'MMdd");

这将解析你的日期.

原文链接:https://www.f2er.com/java/124741.html

猜你在找的Java相关文章