日历类时间月份不匹配
Calendar c = Calendar.getInstance(); System.out.println("Mili->>" + c.getTimeInMillis()); System.out.println("Month ->>" + Calendar.MONTH);
虽然我正在以毫秒格式获得正确的时间,但是月份显示为2(三月??)为什么会这样?
以下是输出
米利 – >> 1434029840778
月 – >> 2
你想要的是以下习语: 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
您正在显示Calendar.MONTH
常量的值,因此为2。
您正在从一个实例获取日历c,但是使用Calendar对象从月份获取日历,也可以从实例获取它。
此外 – 日历从0开始,如此处所述
在其他新闻中,在Java 8或JODA时间使用新的DateTime API,它们更好。