我将获得一个日期作为输入,格式为2018年8月31日。我想用java把它转换成AUGUST31,2018
发布于 2018-10-25 01:10:59
解析文本。
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);
此代码段输出:
转换为: AUGUST31,2018
输入和输出中的所有大写都需要一些特殊处理。对于输入,我使用了DateTimeFormatterBuilder
及其parseCaseInsensitive
方法。这给出了一个格式化程序,它将以大写或小写或它们的任意组合来解析月份缩写。对于输出,我没有看到比对结果调用toUpperCase
更好的选择。
https://stackoverflow.com/questions/52972961
复制相似问题