public class TestCalendar
{
public static void main(String[] args)
{
Calendar c = Calendar.getInstance();
//取出年
System.out.println(c.get(YEAR));
//取出月份
System.out.println(c.get(MONTH));
//取出日
System.out.println(c.get(DATE));
}
}
现在日期是2009年10月23日,为何我运行结果是2009 09 23
我知道可能使用的是默认时区,但是默认时区是哪个时区,又是怎么计算的,麻烦知道的告诉小弟一下,谢谢@
{
public static void main(String[] args)
{
Calendar c = Calendar.getInstance();
//取出年
System.out.println(c.get(YEAR));
//取出月份
System.out.println(c.get(MONTH));
//取出日
System.out.println(c.get(DATE));
}
}
现在日期是2009年10月23日,为何我运行结果是2009 09 23
我知道可能使用的是默认时区,但是默认时区是哪个时区,又是怎么计算的,麻烦知道的告诉小弟一下,谢谢@
Calendar.MONTH的初始值是0
System.out.println(c.get(MONTH+1));
public static final int MONTH
指示月份的 get 和 set 的字段数字。这是一个特定于日历的值。在格里高利历和罗马儒略历中一年中的第一个月是 JANUARY,它为 0;最后一个月取决于一年中的月份数。
简单来说,因为这个值的初始值是0,因此我们要用它来表示正确的月份时就需要加1。