2009-11-10 84 views

回答

18

使用setTime方法:

Date date = new Date(); 
Calendar calendar = Calendar.getInstance(); 
calendar.setTime(date); 
int hourOfDay = calendar.get(Calendar.HOUR_OF_DAY); 
+0

...然后'int hourOfDay = calendar.get(Calendar.HOUR_OF_DAY);' – BalusC 2009-11-10 22:55:13

+0

确实已更新。 – 2009-11-10 22:56:08

1
Calendar c = new GregorianCalendar(); 
c.setTime(date); 
1

像这样的东西应该工作:

Calendar cal = Calendar.getInstance(); 
cal.setTime(date); 
System.out.println(cal.get(Calendar.HOUR_OF_DAY)); 
1

我可以建议使用Joda library如果你正在做什么比最基本的日期更/兼职工作 ?

DateTime dt = new DateTime(); 
int hour = dt.getHourOfDay(); 

我意识到这不是很你以后,但乔达日期/时间库提供漂亮和直观的API的好处,并避免非thread-非直观的陷阱安全的日期/时间格式化程序这很值得检查。

+0

是的,在不久的将来它仍然是日期/时间库,因为它看起来不像JSR-310(https://jsr-310.dev.java.net/)准备好Java 7。 – 2009-11-10 23:29:59