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

时间:2016-07-11 07:55:15

标签: java date

我有一个变量:

YearMonth date;

例如,在内部站立"2016-07"

我希望它仍然是YearMonth,但是"2016 july"(注意,没有“ - ”分隔符),或者更好的是"2016 luglio",这是意大利语区域设置。

怎么做?

更新

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

myVariable = YearMonth.parse(str);

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

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

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

尝试运行代码,看看这是否是您想要的Codiva online compiler IDE

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

Codiva中的完整工作代码。