java Calendar设置日期

import java.util.*;

public class Four10 {
public static void main(String args[]){
Calendar c = Calendar.getInstance();
c.set(2000, 7, 31,0,0,0);

int y1 = c.get(Calendar.YEAR);

int m1 = c.get(Calendar.MONTH);
int d1 = c.get(Calendar.DATE);
System.out.println(y1+" "+m1+" "+d1);
}}
输出结果不应该是8月31吗?为什么是7与31?

int m1 = c.get(Calendar.MONTH);
设置的地方,和取出来的地方,都没有考虑+1,所以结果还是7。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-08-25
月份是从0开始计时的

0~11

所以结果要加1 就是正确答案

第2个回答  2013-08-25
你好
实际的月份是1至12,但实际上在存储的时候是0至11,所以需要做一些转换追问

我知道啊,,我要设置8月,所以在代码里面写7啊。。是对的啊,我想知道的是为什么输出结果是7而不是我想要的8

追答

你存的7所以取出来还是7,要显示8的话得把取出来的值加个1

第3个回答  2013-08-25
java 里面的月份是从0开始计数的,所以7月就是8月