请教!急!!在线等待!!!
大家有没有遇到过这个问题,就是Calendar类在有31号和30号的月设置成没有31号和30号的月份是或自动往跳到下一个月,比如说,今天是12月31号:
Calendar c=Calendar.getInstance();
c.set(Calendar.MONTH,1); //设置成2月份
System.out.println(c.get(Calendar.MONTH)); 输出是2,也就是3月份
请那位不吝赐教,急啊!
解决立刻给分。
问题点数:50、回复次数:12Top
1 楼turt_ed___()回复于 2005-12-31 16:36:56 得分 0
你修改月份是什么意思?如果是想增加一个月的话,就加上下个月的天数了!Top
2 楼yuanxianfeng()回复于 2005-12-31 16:45:33 得分 0
我刚遇到过这样的问题,可以不用c.set(Calendar.MONTH,1); 都知道月份了,还set干吗,直接得到九好了。Top
3 楼jianghao08(自由自在)回复于 2005-12-31 16:53:07 得分 0
我想Calendar类得到这个月有多少天啊!谁能帮忙解决一下啊!Top
4 楼treeroot(旗鲁特)回复于 2005-12-31 17:23:45 得分 0
差点被你蒙了,因为日期是31号,2月没有那么多天,就进位了!Top
5 楼jianghao08(自由自在)回复于 2006-01-05 19:21:30 得分 0
能说的具体一点吗?最好能说一下怎么解决,谢谢!Top
6 楼zncn2(embedded system)回复于 2006-01-05 19:51:50 得分 0
int[] map = new int[]{31,28,31,30,31,30,31,31,30,31,30,31};
int month = 2; // 你的月份;
int year = 1900; // 你的年份;
int day; // 你想要的天数;
day = map[month];
if(mon == Calendar.FEBRUARY){
if(year % 100 == 0){
if (year % 400 == 0)
day = 29;
}else if(year % 4 == 0)
day = 29;
}
System.out.println("当月日期:"+day);
你也可以给变成个函数。Top
7 楼zncn2(embedded system)回复于 2006-01-05 19:55:43 得分 0
有点小毛病,还是看这个吧
int[] map = new int[]{31,28,31,30,31,30,31,31,30,31,30,31};
int mon = Calendar.FEBRUARY; // 你的月份;
int year = 1900; // 你的年份;
int day; // 你想要的天数;
day = map[month];
if(mon == Calendar.FEBRUARY){
if(year % 100 == 0){
if (year % 400 == 0)
day = 29;
}else if(year % 4 == 0)
day = 29;
}
System.out.println("当月日期:"+day);
Top
8 楼zncn2(embedded system)回复于 2006-01-05 19:58:57 得分 0
我就晕,上面的还是有问题
int[] map = new int[] {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int month = Calendar.FEBRUARY; // 你的月份;
int year = 1900; // 你的年份;
int day; // 你想要的天数;
day = map[month];
if (month == Calendar.FEBRUARY) {
if (year % 100 == 0) {
if (year % 400 == 0)
day = 29;
} else if (year % 4 == 0)
day = 29;
}
System.out.println("当月日期:" + day);Top
9 楼zhaodanyang405(zhaoyang)回复于 2006-01-06 17:40:23 得分 0
Calendar c=Calendar.getInstance();
出来的 时间 月份 是以 0 开始的
Top
10 楼jianghao08(自由自在)回复于 2006-01-07 14:30:32 得分 0
zncn2(embedded system) 很感谢你的答复,但你可能没有看清我的意思,我不是想知道二月有多少天,我做的是一个查询,用户可以查询任意月份,然后我把这个月用日历的形式结合数据展现出来。Top
11 楼zncn2(embedded system)回复于 2006-01-12 15:38:32 得分 0
我的代码不光写的是二月份啊,输入几月都可以啊,二月只是个例子罢了
int month = Calendar.FEBRUARY; // 你的月份;
int year = 1900; // 你的年份;
你改成
int month = Calendar.MAY; // 你的月份;
int year = 2006; // 你的年份;
就成了查询2006年5月份的天数啦
Top
12 楼leon0926(leon)回复于 2006-01-22 16:23:34 得分 50
你在设置月份之前将日设成1号就可以了。Top




