我需要根据不同的数字获取月份名称Locales
.
为此,我创建了一个DateTime
(or YearMonth
,没关系)对象并获取它的monthOfYear
财产:
YearMonth md = new YearMonth(1992, month);
System.out.println(md.monthOfYear().getAsText(new Locale("ru")));
问题是,这对于英语来说效果很好,因为主格和属格名称是相同的,但对于其他语言,它只返回属格,这不是我需要的。
如何获得本名月份名称?
我认为您将所有格与主格混淆了。当我运行以下代码时:
import org.joda.time.YearMonth;
import java.util.Locale;
public class X {
public static void main(String[] s){
for (int i = 1;i<13; i++) {
YearMonth md = new YearMonth(1992, i);
System.out.println(md.monthOfYear().getAsText(new Locale("ru")));
}
}
}
我得到以下结果:
Январь
Февраль
Март
Апрель
Май
Июнь
Июль
Август
Сентябрь
Октябрь
Ноябрь
Декабрь
根据我的俄语知识,这是主格。你可能需要获得所有格,但我怀疑乔达是否支持它。你可以自己实现它,请看这个问题:使用 Joda-Time DateTimeFormatter 的属格(波兰语语言环境)中的月份名称 https://stackoverflow.com/questions/17188316/month-name-in-genitive-polish-locale-with-joda-time-datetimeformatter
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)