首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Java中将日期从2018年8月31日转换为AUGUST31

如何在Java中将日期从2018年8月31日转换为AUGUST31
EN

Stack Overflow用户
提问于 2018-10-24 23:37:40
回答 1查看 70关注 0票数 1

我将获得一个日期作为输入,格式为2018年8月31日。我想用java把它转换成AUGUST31,2018

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-25 01:10:59

解析文本。

代码语言:javascript
复制
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);

生成文本。

代码语言:javascript
复制
String output = date.format(outputformatter).toUpperCase(Locale.ENGLISH);

System.out.println("Converted to: " + output);

此代码段输出:

转换为: AUGUST31,2018

输入和输出中的所有大写都需要一些特殊处理。对于输入,我使用了DateTimeFormatterBuilder及其parseCaseInsensitive方法。这给出了一个格式化程序,它将以大写或小写或它们的任意组合来解析月份缩写。对于输出,我没有看到比对结果调用toUpperCase更好的选择。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52972961

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档