当前位置: 代码迷 >> Java相关 >> get(Calendar.MONTH)得到的月份为什么比实际少1?
  详细解决方案

get(Calendar.MONTH)得到的月份为什么比实际少1?

热度:1106   发布时间:2008-03-26 13:12:23.0
get(Calendar.MONTH)得到的月份为什么比实际少1?
Calendar now=Calendar.getInstance();
System.out.print(now.get(Calendar.MONTH));
得到的了为什么是 2 呢(我系统的日期明明是三月)?
我把月份改了.改成4,它就输出就3.改成8,它就输出7.
我还查看了其它的字段.比如年,日,甚至是秒.都对.
只有月不对?WHY?...
我本以为是 eclipse 的问题.
换了DOS还是一样.
我甚至以为我的机子有问题.
拿去别人的机子上还是这样.
难道get(Calendar.MONTH)得到的就是实际的少1的月份么?...
谢谢高人指点一下了.
搜索更多相关的解决方案: get  Calendar  MONTH  

----------------解决方案--------------------------------------------------------
对,只有月份少1,其他都是正常的
----------------解决方案--------------------------------------------------------
它返回的是常量值,从0到11
最好是用常量值,Calendar.JANUARY,Calendar.FEBUARY,Calendar.MARCH......
----------------解决方案--------------------------------------------------------
谢谢啦!经两位指点,刚刚查看API文档MONTH字段的详细信息.发现真是这样.原来只是简单看了一下用法却没有看详细信息(看来以后得仔细点才行-_-!):
MONTH
public static final int MONTH指示月份的 get 和 set 的字段数字。这是一个特定于日历的值。一年中的第一个月是 JANUARY,它为 0;最后一个月取决于一年中的月份数。
----------------解决方案--------------------------------------------------------
老外的都是0-11。所以你在月上加一就行了
----------------解决方案--------------------------------------------------------
  相关解决方案