2009-11-10 5 views

Répondre

18

Utilisez la méthode setTime:

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

... puis int int hourOfDay = calendar.get (Calendar.HOUR_OF_DAY); ' – BalusC

+0

En effet, mis à jour. –

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

Quelque chose comme cela devrait fonctionner:

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

Puis-je suggère d'utiliser la Joda library si vous faites quelque chose de plus que la date la plus fondamentale/temps travail?

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

Je me rends compte qu'il est pas tout à fait ce que vous êtes après, mais la bibliothèque date/heure Joda offre les avantages d'une beaucoup API plus agréable et intuitive, et évite les pièges non-intuitives de non-thread- des formateurs de date/heure sûrs Ça vaut le coup de vérifier.

+0

Oui, et il sera toujours _the_ bibliothèque date/heure dans un proche avenir, car il ne semble pas que JSR-310 (https://jsr-310.dev.java.net/) va être prêt pour Java 7. –