日历 class 时间月份不匹配
Calendar class time month not matching
Calendar c = Calendar.getInstance();
System.out.println("Mili->>" + c.getTimeInMillis());
System.out.println("Month ->>" + Calendar.MONTH);
虽然我得到正确的毫秒格式时间,但月份显示为 2(三月??)为什么这样?
下面是输出
Mili->>1434029840778
Month ->>2
您显示的是 Calendar.MONTH
常量的值,因此是 2。
您正在从一个实例中获取日历 c,但使用 Calendar 对象从月份获取日历,也从实例中获取它。
此外 - 日历从参考的 0 开始 here
在其他消息中,使用新的 DateTime API in Java 8 或 JODA 时间,它们更好。
你要的是下面的成语:c.get(Calendar.MONTH)
。
Calendar.MONTH
本身只是一个内部常量,并且(希望)将始终 return 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 c = Calendar.getInstance();
System.out.println("Mili->>" + c.getTimeInMillis());
System.out.println("Month ->>" + Calendar.MONTH);
虽然我得到正确的毫秒格式时间,但月份显示为 2(三月??)为什么这样?
下面是输出
Mili->>1434029840778
Month ->>2
您显示的是 Calendar.MONTH
常量的值,因此是 2。
您正在从一个实例中获取日历 c,但使用 Calendar 对象从月份获取日历,也从实例中获取它。
此外 - 日历从参考的 0 开始 here
在其他消息中,使用新的 DateTime API in Java 8 或 JODA 时间,它们更好。
你要的是下面的成语:c.get(Calendar.MONTH)
。
Calendar.MONTH
本身只是一个内部常量,并且(希望)将始终 return 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