我有如下的小代码。我预计结果应该是7
,但它打印了6
。如果我取消注释该行tmp.get(Calendar.MONTH)
,它运行正常(打印7
).
请告诉我原因。我在 MacOS 中使用 JDK 1.7.0_25。
public static void main(String[] args) {
Calendar tmp = Calendar.getInstance();
tmp.set(Calendar.DAY_OF_MONTH, 4);
tmp.set(Calendar.MONTH, Calendar.AUGUST);
//tmp.get(Calendar.MONTH);
tmp.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
System.out.println(tmp.get(Calendar.MONTH));
}
截屏:
评论代码:http://gyazo.com/4c099b1b2b90d72d1954b98b134e4ac3 http://gyazo.com/4c099b1b2b90d72d1954b98b134e4ac3
取消注释代码:http://gyazo.com/fe368745da168646140ca9f3a60d2021 http://gyazo.com/fe368745da168646140ca9f3a60d2021
因为月份索引从索引 0 开始。在获取月份时添加 +1。它是复制到java中的基于c的结构。它的索引为 0 到 11。
而且我认为月份中的某一天是不正确的。评论并运行它,它显示正确。(tmp.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
)
tmp.set(Calendar.DAY_OF_MONTH, 4);
tmp.set(Calendar.MONTH, Calendar.AUGUST);
//tmp.get(Calendar.MONTH);
//tmp.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
System.out.println(tmp.get(Calendar.MONTH));
默认情况下,年份为 2015 年,8 月 4 日为tuesday
not monday
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)