黑马程序员技术交流社区

标题: calendar中的问题 [打印本页]

作者: qq563426478    时间: 2015-3-2 18:40
标题: calendar中的问题
请问为什么2个表达式一个等于2一个等于3呢?
求大神详解。

import java.util.*;
import java.text.*;

class Run
{
public static void main(String [] args)
{
Calendar c = Calendar.getInstance();

sop("c.get(Calendar.MONTH)="+c.get(Calendar.MONTH));//为何等于3?
sop("Calendar.MONTH="+Calendar.MONTH);//为何等于2?

}
public static void sop(Object obj)
{
System.out.println(obj);
}
}

输出结果:
c.get(Calendar.MONTH)=3
Calendar.MONTH=2
作者: shuren2015    时间: 2015-3-3 13:06
c.get(Calendar.MONTH)
你可以理解为本地化了
根据API文档
public static final int MONTH
指示月份的 get 和 set 的字段数字。这是一个特定于日历的值。在格里高利历和罗马儒略历中一年中的第一个月是 JANUARY,它为 0;最后一个月取决于一年中的月份数。
以此类推3月,MONTH=2
get方法就是用你本地的日历系统来换算(中国有0月这个概念吗)




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2