首页 > 解决方案 > 嵌套异常是 java.time.format.DateTimeParseException: Text '3030821'

问题描述

我怎样才能解析这个字符串

3030821  

迄今为止喜欢

303-08-21 

我的意思是公元年(Anno Domini),

我也希望这个解决方案能够抵抗 String 之类的20200820

标签: java

解决方案


import java.time.LocalDate;
import java.time.format.DateTimeFormatter;

public class Main {
    public static void main(String[] args) {
        LocalDate date = LocalDate.parse("3030821", DateTimeFormatter.ofPattern("uuuMMdd"));
        System.out.println(date.format(DateTimeFormatter.ofPattern("u-MM-dd")));

        date = LocalDate.parse("20200820", DateTimeFormatter.ofPattern("uuuMMdd"));
        System.out.println(date.format(DateTimeFormatter.ofPattern("u-MM-dd")));
    }
}

输出:

303-08-21
2020-08-20

在Trail: Date Time了解有关现代日期时间 API 的更多信息。


推荐阅读