gpt4 book ai didi

java - 使用 DateTimeFormatter.ofLocalizedDate 格式化 MonthDay

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:49:43 24 4
gpt4 key购买 nike

<分区>

我正在尝试格式化 MonthDay对象以一种我不必指定顺序的方式。我正在尝试使用本地化的 DateTimeFormatter .

我有这个代码:

LocalDate datetime = LocalDate.parse("2017-08-11", DateTimeFormatter.ofPattern("yyyy-MM-dd"));
MonthDay monthday = MonthDay.from(datetime);
System.out.println(monthday.format(DateTimeFormatter.ofPattern("MMMM dd").withLocale(Locale.ENGLISH)));
System.out.println(monthday.format(DateTimeFormatter.ofPattern("MMMM dd").withLocale(Locale.GERMANY)));
System.out.println(monthday.format(DateTimeFormatter.ofPattern("MMMM dd").withLocale(Locale.forLanguageTag("UK"))));

System.out.println(datetime.format(DateTimeFormatter.ofLocalizedDate(FormatStyle.MEDIUM).withLocale(Locale.ENGLISH)));
System.out.println(datetime.format(DateTimeFormatter.ofLocalizedDate(FormatStyle.MEDIUM).withLocale(Locale.forLanguageTag("UK"))));
// next line throws exception for java.time.temporal.UnsupportedTemporalTypeException: Unsupported field: YearOfEra
System.out.println(monthday.format(DateTimeFormatter.ofLocalizedDate(FormatStyle.MEDIUM).withLocale(Locale.forLanguageTag("UK"))));

前 3 次打印将按预期打印翻译后的月份和日期,但始终是先是月份再是日期。它不会更改顺序,因为我明确告诉它顺序。

接下来的两个(异常之前)将分别打印:

Aug 11, 2017
11 серп. 2017

请注意日期是在月份之前还是之后,具体取决于传递给函数的语言环境。我如何使用 MonthDay 对象执行此操作,因为最后一行在以这种方式完成时抛出异常。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com