首页 > 解决方案 > 我如何使用 dd MMM yyyy 的日期格式,如 2020 年 4 月 1 日

问题描述

我有一个 pdf 文件,我想知道下一行是日期还是字符串(列表有两种格式,知道我是否到达日期很重要。)问题是,似乎无法使用日期格式来得出 2020 年 4 月 1 日的日期

LocalDate date = parseDate( "dd MMM yyyy", "01 Apr 2020" );

引发...无法在索引 3 处解析文本“2020 年 4 月 1 日”

    private static LocalDate parseDate( final String format, final String s ) {

        final DateTimeFormatter df = DateTimeFormatter.ofPattern( format );
        LocalDate ld;   // Check if this was a legal LocalDate.
        try {
            ld = LocalDate.parse(s, df);
        } catch (java.time.format.DateTimeParseException pe) {
            System.out.println( pe.getMessage() );
            ld = null;  // This will signal an error
        }
        return ld;
    }

真的没有办法解析那种格式的日期,就像银行在他们的 pdf 中使用的那样?

标签: java

解决方案


代替

final DateTimeFormatter df = DateTimeFormatter.ofPattern( format );

final DateTimeFormatter df = DateTimeFormatter.ofPattern( format , Locale.US );

希望这能解决您的问题。


推荐阅读