Calendar c = Calendar.getInstance();
System.out.println("Mili->>" + c.getTimeInMillis());
System.out.println("Month ->>" + Calendar.MONTH);
虽然我正在以毫秒格式获得正确的时间,但是月份显示为2(3月??)为什么会这样?
以下是输出
Mili->>> 1434029840778
月 - >> 2
答案 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,它们会更好。