我在 java 中使用 Calendar 类并且遇到了麻烦。我有这个代码
Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("NZST"));
System.out.println("Calendar.HOUR_OF_DAY = " + calendar.get(Calendar.HOUR_OF_DAY));
System.out.println("Calendar.HOUR = " + calendar.get(Calendar.HOUR));
System.out.println("calendar.getTime() = " + calendar.getTime());
我希望它能够输出
Calendar.HOUR_OF_DAY = 17
Calendar.HOUR = 5
calendar.getTime() = Sat Aug 08 17:45:53 NZST 2020
但相反它输出
Calendar.HOUR_OF_DAY = 5
Calendar.HOUR = 5
calendar.getTime() = Sat Aug 08 17:45:53 NZST 2020
那么为什么 HOUR_OF_DAY 和 HOUR 返回相同的东西,但是 calendar.getTime() 显示了正确的 HOUR_OF_DAY。他们都使用NZST。