我想获得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());

最佳答案

您正在访问Calendar的HOURMINUTE静态属性。它们被用作一种公共静态枚举,因此,当您调用Calendar.get()Calendar.set()时,可以引用特定的字段。要获取日历中包含的实际小时数,应使用:

c.get(Calendar.HOUR);

关于java - date.getHours()到calendar.hour,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13148819/

10-13 22:38