【发布时间】:2018-10-27 07:08:18
【问题描述】:
在我们的业务需求中,我们应该找出一周的第一天。
由于客户端是European,所以我使用下面的代码来获取它。
但是,问题是当我运行此代码时,我得到2 作为答案,而我期望1。
public class Test{
public static void main(String[] args) {
TimeZone eu = TimeZone.getTimeZone("Europe/Berlin");
Locale de = Locale.forLanguageTag("de");
int firstDayOfWeek = Calendar.getInstance(eu, de).getFirstDayOfWeek();
System.out.println(firstDayOfWeek);
}
}
谁能帮我理解这种行为。
【问题讨论】:
-
你为什么期待 1?星期一不是欧洲一周的第一天吗?根据 Javadoc,至少适用于法国:docs.oracle.com/javase/7/docs/api/java/util/…
-
是的,星期一是欧洲一周的第一天,因此我们希望答案是 1
-
getFirstDayOfWeek依赖于Locale。 -
星期一是 2。请看这里:docs.oracle.com/javase/7/docs/api/…
标签: java calendar dayofweek java.util.calendar