public Date(int year, int month, int date, int hrs, int min, int sec) {
int y = year + 1900;
if (month >= 12) {
y += month / 12;
month %= 12;
} else if (month < 0) {
y += CalendarUtils.floorDivide(month, 12);
month = CalendarUtils.mod(month, 12);
}
public static final int floorDivide(int n, int d) {
return n >= 0 ? n / d : (n + 1) / d - 1;
}
不管mouth 是否大于0,floorDivide都可以处理,这地方分开来是因为调用速度的原因吗?