小编典典

从YearMonth(yyyy-MMMM)到YearMonth(yyyy-MMMM)

java

我有一个变量:

YearMonth date;

"2016-07"例如,在里面站立。

我希望它仍然是YearMonth,但是使用"2016 july"(请注意,没有“-”分隔符),或者甚至更好"2016 luglio",那就是意大利语Locale。

怎么做?

更新

我尝试了JackDaniels的方法。它实际上可以工作,因为它为我提供了str具有正确日期格式的string()。但是我需要将该字符串再次放入YearMonth变量中。我尝试了:

myVariable = YearMonth.parse(str);

但它返回了一个错误: java.time.format.DateTimeParseException: Text '2014 gennaio' could not be parsed at index 4

我该如何解决?


阅读 237

收藏
2020-11-30

共1个答案

小编典典

使用新的 DateTimeFormatter 直接解析YearMonth并设置其格式,并使用Locale设置所需的语言环境。
不要使用SimpleDateFormat。 那是旧的Date API的一部分。

尝试运行代码,看看这是否是您在Codiva在线编译器IDE中想要的。

YearMonth yearMonth = YearMonth.of(2016, 7);
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy MMMM",
    new Locale("it", "IT"));
System.out.println(yearMonth.format(formatter));

完整的工作代码在Codiva中

2020-11-30