This question already has an answer here:
Generate & parse “Year-Month” values in text from Java
(1个答案)
3年前关闭。
我有一个变量:
例如,位于内部的
我希望它仍然是YearMonth,但是使用
怎么做?
更新
我尝试了JackDaniels的方法。它实际上可以工作,因为它为我提供了具有正确日期格式的字符串(
但它返回了一个错误:
我该如何解决?
Codiva中的完整工作代码。
(1个答案)
3年前关闭。
我有一个变量:
YearMonth date;
例如,位于内部的
"2016-07"
。我希望它仍然是YearMonth,但是使用
"2016 july"
(注意,没有“-”分隔符),或者更好的是,使用"2016 luglio"
,这是意大利语Locale。怎么做?
更新
我尝试了JackDaniels的方法。它实际上可以工作,因为它为我提供了具有正确日期格式的字符串(
str
)。但我需要将该字符串再次放入YearMonth变量中。我尝试过:myVariable = YearMonth.parse(str);
但它返回了一个错误:
java.time.format.DateTimeParseException: Text '2014 gennaio' could not be parsed at index 4
我该如何解决?
最佳答案
使用新的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中的完整工作代码。
09-30 17:59