获取当前时间

时间:2014-02-18 07:43:05

标签: java time calendar

public void getTime()
{
    Calendar calendar = Calendar.getInstance();
    calendar.getTime();
    this.minutes = calendar.MINUTE;
    this.hours= calendar.HOUR_OF_DAY;

}

鉴于此代码,变量分钟和小时是否以整数值设置为当前时间?看起来有点不对吗?

4 个答案:

答案 0 :(得分:5)

尝试此操作以从当天的日历实例中获取分钟和小时

this.minutes = calendar.get(Calendar.MINUTE);
this.hours= calendar.get(Calendar.HOUR_OF_DAY);

Calendar.MINUTECalendar.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.MINUTEcalendar.HOUR_OF_DAY是来自枚举的常量值。这就是你得到奇怪结果的原因。

您需要将枚举器值作为参数提供给函数:例如

this.minutes = calendar.get(Calendar.MINUTE);
this.hours = calendar.get(Calendar.HOUR_OF_DAY);