我搜索但无法getMinimalDaysInFirstWeek()
在Calender
java 类中找到默认值。我没有设置语言环境等。我想知道第一周的默认最短天数是多少。不幸的是,我无法运行代码并检查自己,因为它位于我有权阅读的服务器上。
问问题
2584 次
2 回答
2
Calendar.getInstance()
,它返回GregorianCalendar
(通常)Calendar
使用默认语言环境构造对象:
protected Calendar()
{
this(TimeZone.getDefaultRef(), Locale.getDefault());
sharedZone = true;
}
然后执行以下代码:
private void setWeekCountData(Locale desiredLocale)
{
/* try to get the Locale data from the cache */
int[] data = cachedLocaleData.get(desiredLocale);
if (data == null) { /* cache miss */
ResourceBundle bundle = LocaleData.getCalendarData(desiredLocale);
data = new int[2];
data[0] = Integer.parseInt(bundle.getString("firstDayOfWeek"));
data[1] = Integer.parseInt(bundle.getString("minimalDaysInFirstWeek"));
cachedLocaleData.putIfAbsent(desiredLocale, data);
}
firstDayOfWeek = data[0];
minimalDaysInFirstWeek = data[1];
}
所以 -从(在 Oracle JVM 上)minimalDaysInFirstWeek
的 package 的已编译资源包中检索。sun.util.resources
CalendarData_<locale>.class
例如,对于波兰语语言环境,我们有:
public final class CalendarData_pl extends LocaleNamesBundle
{
protected final Object[][] getContents()
{
return new Object[][] { { "firstDayOfWeek", "2" }, { "minimalDaysInFirstWeek", "4" } };
}
}
于 2012-06-14T07:53:57.727 回答
0
通常使用公历并使用 [https://de.wikipedia.org/wiki/Gau%C3%9Fsche_Wochentagsformel] 计算(在维基百科上找不到合适的英文版本:'/)1 因此,最小值可能此公式的结果或根据惯例(例如 01.01.1900)
似乎我误读了你的问题。希望该链接可以提供有关理论方面的一些见解。
于 2012-06-14T08:04:19.900 回答