Calendar.setFirstDayOfWeek() 这个方法在调用的时候,应该在 Calendar.setTimeInMillis() 之前,否则不会生效,原因是 setFirstDayOfWeek() 这个方法在 Android SDK 中的实现只是做了参数的设置,并没有进行刷新(没有调用 computeFields() 方法),JDK 中的这个方法调用了刷新方法,下面是这一方法在 SDK 和 JDK 中的区别。
在 Android SDK 中的实现如下:
/**
* Sets the first day of the week for this {@code Calendar}.
* The value should be a day of the week such as {@code MONDAY}.
*/
public void setFirstDayOfWeek(int value) {
firstDayOfWeek = value;
}
在 JDK 中的实现如下:
/**
* Sets this Calendar's current time from the given long value.
*
* @param millis the new time in UTC