【问题标题】:Getting Current time of day获取当前时间
【发布时间】:2014-02-18 07:43:04
【问题描述】:
public void getTime()
{
    Calendar calendar = Calendar.getInstance();
    calendar.getTime();
    this.minutes = calendar.MINUTE;
    this.hours= calendar.HOUR_OF_DAY;

}

鉴于此代码,变量分钟和小时是否设置为整数值的当前时间?好像没有,有什么问题吗?

【问题讨论】:

标签: java time calendar


【解决方案1】:

应该这样使用

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

【讨论】:

    【解决方案2】:

    试试这个从当前日期的日历实例中获取分钟和小时

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

    Calendar.MINUTECalendar.HOUR_OF_DAY 是常量,它只给出 int 值。将 int 值应用于您的日历实例并获取 Minute 和 Hour 值。

    【讨论】:

      【解决方案3】:

      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 方法(它不返回任何内容)。

      【讨论】:

        【解决方案4】:

        确实Calendar calendar = Calendar.getInstance(); 确实将calendar 设置为当前日期。这段代码很好。

        calendar.MINUTEcalendar.HOUR_OF_DAY 是来自枚举 的常量值。这就是为什么你会得到奇怪的结果。

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2010-10-05
          • 2021-12-04
          • 1970-01-01
          • 2021-04-14
          • 2011-07-02
          • 2011-12-26
          • 2013-08-07
          相关资源
          最近更新 更多