public void getTime()
{
Calendar calendar = Calendar.getInstance();
calendar.getTime();
this.minutes = calendar.MINUTE;
this.hours= calendar.HOUR_OF_DAY;
}
鉴于此代码,变量分钟和小时是否以整数值设置为当前时间?看起来有点不对吗?
答案 0 :(得分:5)
尝试此操作以从当天的日历实例中获取分钟和小时
this.minutes = calendar.get(Calendar.MINUTE);
this.hours= calendar.get(Calendar.HOUR_OF_DAY);
Calendar.MINUTE
和Calendar.HOUR_OF_DAY
是常量,它只给出int值。将int值应用于日历实例并获取“分钟”和“小时”值。
答案 1 :(得分:2)
Calendar
类旨在以这种方式使用:
Calendar calendar = Calendar.getInstance();
this.minutes = calendar.get(Calendar.MINUTE);
this.hours = calendar.get(Calendar.HOUR_OF_DAY);
顺便说一下,calendar.getTime();
行没有做任何事情,因为你没有将getTime
的结果保存在变量中。
我还建议重命名方法void getTime()
,因为它不是getter方法(它不会返回任何内容)。
答案 2 :(得分:1)
它应该像这样使用
Calendar calendar = Calendar.getInstance();
this.minutes = calendar.get(Calendar.MINUTE);
this.hours=calendar.get(Calendar.HOUR_OF_DAY);
答案 3 :(得分:0)
确实Calendar calendar = Calendar.getInstance();
确实将calendar
设置为当天。那段代码很好。
但calendar.MINUTE
和calendar.HOUR_OF_DAY
是来自枚举的常量值。这就是你得到奇怪结果的原因。
您需要将枚举器值作为参数提供给函数:例如
this.minutes = calendar.get(Calendar.MINUTE);
this.hours = calendar.get(Calendar.HOUR_OF_DAY);