日历类时间月份不匹配

时间:2015-06-11 13:41:12

标签: java calendar

Calendar c = Calendar.getInstance();

System.out.println("Mili->>" + c.getTimeInMillis());

System.out.println("Month  ->>" + Calendar.MONTH);

虽然我正在以毫秒格式获得正确的时间,但是月份显示为2(3月??)为什么会这样?

以下是输出

  

Mili->>> 1434029840778

     

月 - >> 2

3 个答案:

答案 0 :(得分:4)

你想要的是以下习语:c.get(Calendar.MONTH)

Calendar.MONTH本身只是一个内部常量,并且(希望)总是返回2

示例

// We're in June at the time of writing
// Months are 0-based so June == 5
Calendar c = Calendar.getInstance();
System.out.println(Calendar.MONTH);
System.out.println(c.get(Calendar.MONTH));

<强>输出

2
5

另请参阅:API

答案 1 :(得分:0)

您正在显示Calendar.MONTH常量的值,因此为2。

答案 2 :(得分:0)

您从一个实例获取日历c,但是使用Calendar对象从月份获取日历,也可以从实例获取日历。

此外 - 日历从0开始,引用为here

在其他新闻中,在Java 8或JODA时间使用新的DateTime API,它们会更好。