java date du temps de comparer les deux
Quelle serait la meilleure façon de comparer deux dates en java?
Droit maintenant, j'ai du tableau de temps comme
10h00, 12h00, 2.00, 4.00
Comment pouvons-nous savoir qui de temps à venir jusqu'à la prochaine par rapport à notre heure de l'ordinateur?
Laisser dire pour l'instant de mon heure de l'ordinateur est de 3,15, que dois-je faire pour montrer 4.00 est la prochaine?
Date date = new Date();
OriginalL'auteur SOer | 2010-11-28
Vous devez vous connecter pour publier un commentaire.
La java.util.Date implémente l'interface Comparable. Cela signifie que vous pouvez très facilement comparer deux objets date avec ce code:
OriginalL'auteur Lachezar Balev
Je voudrais utiliser Joda Time. Créer un
LocalTime
pour chacune des fois vous êtes intéressé, et ce justenew LocalTime()
pour obtenir l'heure de la journée... ensuite, vous pouvez comparer eux, soit aveccompareTo
ouisBefore
etisAfter
.À l'aide de Joda Fois au lieu de l'intégré dans
Date
/Calendar
classes vous donnera beaucoup plus lisible le code pour ce genre de chose.OriginalL'auteur Jon Skeet
JodaTime semble être la réponse standard pour ce genre de questions, mais je n'ai pas eu le temps (aucun calembour prévu), mais de vérifier Joda, voici donc mon Calendrier suggestion:
Calendar
classe et Joda-Time ont été supplantés par le java.temps classes.OriginalL'auteur Kennet
La
java.util.Date
classe est de type incorrect pour vos besoins. Cette classe représente une date plus un moment de la journée, et que vous voulez seulement une heure de la journée. Parmi les vieilles date-heure classes livré avec les premières versions de Java il y a pas classe à vraiment représenter un temps de jour de valeur. Lejava.sql.Temps
classe fait semblant de le faire mais c'est un hack.java.temps
La java.le temps cadre est intégré dans Java 8 et les versions ultérieures. Voir Oracle Tutoriel. Ces classes ont été inspirés par la très réussie Joda-Time de la bibliothèque. Une grande partie de la java.le temps de la fonctionnalité est dos-porté à Java 6 & 7 et plus adapté pour Android. Ces classes supplanter l'ancienne date-classes de temps; un vaste amélioration.
La
LocalTime
classe représente un moment de la journée sans date et sans un fuseau horaire.Utiliser une collection triée comme un
List
pour organiser vos valeurs.Déterminer votre temps d'échantillon à des fins de comparaison.
Ou obtenir l'heure actuelle-de-jour. Spécifier un fuseau horaire que c'est plus fiable que de façon implicite en fonction de votre JVM du actuel fuseau horaire par défaut.
Boucle de la
List
pour trouver le premier élément qui est plus tard dans la journée que votre temps d'échantillon. Pour comparer, utiliser leisAfter
,isBefore
, ouequals
méthodes.OriginalL'auteur Basil Bourque