用 Java 解析 LocalDate:“2020 年 3 月 26 日”的模式是什么

问题描述 投票:0回答:2

我似乎无法想出“2020 年 3 月 26 日”(无逗号)的模式。有人可以帮忙吗?我试过

DateTimeFormatter.ofPattern("MMMM dd yyyy")
DateTimeFormatter.ofPattern("MMM dd yyyy")
.

最小可重现示例:

    String strDate = "March 26 2020";
    DateTimeFormatter dtf = DateTimeFormatter.ofPattern("MMMM dd uuuu");
    LocalDate date = LocalDate.parse(strDate, dtf);
    System.out.println(date);

在我的电脑上这抛出

线程“main”中的异常 java.time.format.DateTimeParseException: 无法在索引 0

处解析文本“2020 年 3 月 26 日”

预期产出为

2020-03-26

在格式模式中使用

MMM
例外是相同的。

java java-time date-parsing
2个回答
5
投票

使用图案,

MMMM dd uuuu
Locale.ENGLISH
.

演示:

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

class Main {
    public static void main(String[] args) {
        String strDate = "March 26 2020";
        DateTimeFormatter dtf = DateTimeFormatter.ofPattern("MMMM dd uuuu", Locale.ENGLISH);
        LocalDate date = LocalDate.parse(strDate, dtf);
        System.out.println(date);
    }
}

输出:

2020-03-26

0
投票

试试这个

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MMMM' 'dd' 'yyyy", Locale.ENGLISH)

对我来说很好,输出:

December 10 2020
© www.soinside.com 2019 - 2024. All rights reserved.