繁体   English   中英

在 Java 中格式化 LocalDate:“2020 年 3 月 26 日”的模式是什么

[英]Formatting LocalDate in Java: What's the pattern for “March 26 2020”

我似乎想不出“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);

在我的电脑上,这会抛出

线程“主”java.time.format.DateTimeParseException 中的异常:无法在索引 0 处解析文本“2020 年 3 月 26 日”

预期 output 是

2020-03-26

使用格式模式中的MMM而不是例外是相同的。

使用模式MMMM dd uuuuLocale.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);
    }
}

Output:

2020-03-26

尝试这个

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

为我工作得很好,Output:

December 10 2020

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM