如何在 Java 中将日期从 31-AUG-18 转换为 AUGUST31,2018
how to convert date from 31-AUG-18 to AUGUST31,2018 in Java
我正在以 2018 年 8 月 31 日的格式输入日期。我想使用 java
将其转换为 AUGUST31,2018
正在解析文本。
DateTimeFormatter inputFormatter =
new DateTimeFormatterBuilder()
.parseCaseInsensitive()
.appendPattern("dd-MMM-uuuu")
.toFormatter(Locale.ENGLISH)
;
DateTimeFormatter outputformatter =
DateTimeFormatter.ofPattern("MMMMdd,uuuu", Locale.ENGLISH)
;
String input = "31-AUG-2018";
LocalDate date = LocalDate.parse(input, inputFormatter);
正在生成文本。
String output = date.format(outputformatter).toUpperCase(Locale.ENGLISH);
System.out.println("Converted to: " + output);
此代码段输出:
Converted to: AUGUST31,2018
输入和输出中的全部大写需要一些特殊处理。对于输入,我使用 DateTimeFormatterBuilder
及其 parseCaseInsensitive
方法。这提供了一个格式化程序,它将解析大写或小写或它们的任何组合的月份缩写。对于输出,我认为没有比对结果调用 toUpperCase
更好的选择了。
我正在以 2018 年 8 月 31 日的格式输入日期。我想使用 java
将其转换为 AUGUST31,2018正在解析文本。
DateTimeFormatter inputFormatter =
new DateTimeFormatterBuilder()
.parseCaseInsensitive()
.appendPattern("dd-MMM-uuuu")
.toFormatter(Locale.ENGLISH)
;
DateTimeFormatter outputformatter =
DateTimeFormatter.ofPattern("MMMMdd,uuuu", Locale.ENGLISH)
;
String input = "31-AUG-2018";
LocalDate date = LocalDate.parse(input, inputFormatter);
正在生成文本。
String output = date.format(outputformatter).toUpperCase(Locale.ENGLISH);
System.out.println("Converted to: " + output);
此代码段输出:
Converted to: AUGUST31,2018
输入和输出中的全部大写需要一些特殊处理。对于输入,我使用 DateTimeFormatterBuilder
及其 parseCaseInsensitive
方法。这提供了一个格式化程序,它将解析大写或小写或它们的任何组合的月份缩写。对于输出,我认为没有比对结果调用 toUpperCase
更好的选择了。