问题描述:取某一天是一周的第几天? Calendar cal2 = Calendar.getInstance();
System.out.println(cal2.getTime());
cal2.clear();
cal2.set(100, 0, 1);
System.out.println(cal2.getTime());
cal2.clear();
cal2.set(1, 0, 1);
System.out.println(cal2.getTime());得到的结果是:
Fri Jan 04 08:54:12 CST 2008
Wed Jan 01 00:00:00 CST 100
Sat Jan 01 00:00:00 CST 1问题:第一个是正确的,2008/1/4 是星期五正确的, 100/1/1 是星期三 正确吗?(星期三应该不正确,经过多次在别的中间的验证),在别的语言中算出来的是星期五,1/1/1 是星期六还是星期一?请问一下这是jdk的bug还是我对日期的理解存在偏差。
System.out.println(cal2.getTime());
cal2.clear();
cal2.set(100, 0, 1);
System.out.println(cal2.getTime());
cal2.clear();
cal2.set(1, 0, 1);
System.out.println(cal2.getTime());得到的结果是:
Fri Jan 04 08:54:12 CST 2008
Wed Jan 01 00:00:00 CST 100
Sat Jan 01 00:00:00 CST 1问题:第一个是正确的,2008/1/4 是星期五正确的, 100/1/1 是星期三 正确吗?(星期三应该不正确,经过多次在别的中间的验证),在别的语言中算出来的是星期五,1/1/1 是星期六还是星期一?请问一下这是jdk的bug还是我对日期的理解存在偏差。
public void setGregorianChange(Date date)设置 GregorianCalendar 的更改日期。这是发生从儒略历日期切换到格里高利历日期的点。默认时间是 1582 年 10 月 15 日(格里高利历)。在此之前,日期是按照儒略历计算的。
要得到纯粹的儒略历日历,可将更改日期设置为 Date(Long.MAX_VALUE)。要得到一个纯粹的格里高利历日历,可将更改日期设置为 Date(Long.MIN_VALUE)。
Wed Jan 01 00:00:00 CST 0100
Sat Jan 01 00:00:00 CST 0001
我运行lz程序的结果
没有错误啊 100/1/1就是周3
公元元年的第一天更是无疑问的周6
九月 1752
日 一 二 三 四 五 六
1 2 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30