首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

关于calendar的有关问题

2011-12-30 
关于calendar的问题?我做了一个简单的测试假设今天为200年7月14号Java codepublic static void main(Strin

关于calendar的问题?
我做了一个简单的测试
假设今天为200年7月14号

Java code
public static void main(String[] args)    {        Calendar c = Calendar.getInstance();        c.add(Calendar.DAY_OF_MONTH, 20);        System.out.println(c.get(Calendar.DAY_OF_MONTH                ));    }

我日期增加20天后,得到的应该是2008年8月3日
但是在获取c.get(Calendar.DAY_OF_MONTH)的时候,得到的却不是8

大家遇到过这样的问题吗?


[解决办法]
今天是7月的第14天,你加了20天
就是7月的第34天。(当然7月没有34天,所以进位了,到了第8月)

也就是8月的第3天

所以输出是3
[解决办法]
c.get(Calendar.DAY_OF_MONTH)得到的是日不是月
[解决办法]
Java code
c.get(Calendar.MONTH) + 1
[解决办法]
月份是从0到11

Java code
import java.util.Calendar;public class test2 {    public static void main(String[] args) {        Calendar c = Calendar.getInstance();        System.out.println(c.get(Calendar.MONTH));//今天7月14,但这里会输出是6,        c.add(Calendar.DAY_OF_MONTH, 20);        System.out.println(c.get(Calendar.MONTH));//加了20后,这里会输出是7    }}
[解决办法]
引用楼主 jetdw 的帖子:
我做了一个简单的测试
假设今天为200年7月14号

Java code
public static void main(String[] args)
{
Calendar c = Calendar.getInstance();
c.add(Calendar.DAY_OF_MONTH, 20);
System.out.println(c.get(Calendar.DAY_OF_MONTH
));
}


[解决办法]
打错了。应给为System.out.println(c.get(Calendar.DAY_OF_MONTH)+1);.

热点排行