我有一个变量:
YearMonth date;
"2016-07"例如,在里面站立。
"2016-07"
我希望它仍然是YearMonth,但是使用"2016 july"(请注意,没有“-”分隔符),或者甚至更好"2016 luglio",那就是意大利语Locale。
"2016 july"
"2016 luglio"
怎么做?
更新
我尝试了JackDaniels的方法。它实际上可以工作,因为它为我提供了str具有正确日期格式的string()。但是我需要将该字符串再次放入YearMonth变量中。我尝试了:
str
myVariable = YearMonth.parse(str);
但它返回了一个错误: java.time.format.DateTimeParseException: Text '2014 gennaio' could not be parsed at index 4
java.time.format.DateTimeParseException: Text '2014 gennaio' could not be parsed at index 4
我该如何解决?
使用新的 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中。