空数组位置获得月份

问题描述 投票:0回答:2

这是 jdk/jre 的错误吗?我在jdk7发布时报告了这个问题,但从未收到反馈,得到13个位置的数组正常吗?

String[] months = DateFormatSymbols.getInstance().getMonths();
System.out.println(months.length + " " + Arrays.toString(months));

输出: 13 [enero、febrero、marzo、abril、mayo、junio、julio、agosto、septiembre、octube、noviembre、diciembre、]

java time localization
2个回答
7
投票

不是错误。查看源代码的javadoc( java.text.DateFormatSymbols),它说:

月份字符串。例如:“一月”、“二月”等。 数组 13 个字符串(某些日历有 13 个月), 索引为 日历.一月、日历.二月等

String months[] = null;

此外,

getWeekdays()
方法返回8个值等等。

public final static int JANUARY = 0;
public final static int FEBRUARY = 1;
public final static int MARCH = 2;
public final static int APRIL = 3;
public final static int MAY = 4;
public final static int JUNE = 5;
public final static int JULY = 6;
public final static int AUGUST = 7;
public final static int SEPTEMBER = 8;
public final static int OCTOBER = 9;
public final static int NOVEMBER = 10;
public final static int DECEMBER = 11;
public final static int UNDECIMBER = 12;

API 将

UNDECIMBER
描述为: 指示一年中第 13 个月的字段。尽管 GregorianCalendar 不使用此值,但农历却使用此值。

请阅读此处了解此类日历。


1
投票

您可以参考这个页面:

http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/java/text/DateFormatSymbols.java

有些日历有 13 个月,例如农历,中国闰年,这就是为什么 java 保持这样。

希望您的疑问已经清楚。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.