我希望在24小时周期内获得一小时的时间。我知道date.getHours()是折旧的。但我很想使用它,因为我无法从calendar.hour调用中获得相同的结果。 似乎调用calendar.setTime(now)不会获取当前日期值。谁知道这里发生了什么? 非常感激。
Date d = new Date();
Calendar c = Calendar.getInstance();
c.setTime(d);
System.out.println("hour: "+Math.abs(c.HOUR-24)+", mins: "+Math.abs(c.MINUTE-60)+", d.h: "+d.getHours() +", d.m: "+d.getMinutes());
答案 0 :(得分:1)
您正在访问日历的HOUR
和MINUTE
静态属性。这些用作一种公共静态枚举,因此当您致电Calendar.get()
或Calendar.set()
时,您可以引用特定字段。要获得日历中包含的实际小时数,您应该使用:
c.get(Calendar.HOUR);