Je cherche à vérifier et à voir si 48 heures ont été collées d'une heure précise? J'utilise ce format heure de date (AAAA / MM / DD HH: MM: SS) Y a-t-il une fonction Java pour cela? P>
8 Réponses :
Bien sûr. Code suggéré actuel qui n'est pas dépendant de la bibliothèque et est plus clair sur ce qu'il fait: p> code suggéré original (non dépendant de la bibliothèque): p> Je vous conseillerais fortement de choisir Joda DateTime < / a> s>. Comme @basil Bourque l'a mis dans un commentaire, Joda est maintenant en mode de maintenance et puisque Java 8, vous devez utiliser les méthodes Java.Time.
Je suis d'accord avec Joda DateTime est le meilleur; Sinon, vous pouvez utiliser le calendrier natif à la place (mais Joda DateTime est plus simple).
FYI, le projet Joda-Time est maintenant en mode de maintenance, avec l'équipe conseillant la migration vers les classes Java.Time.
@Basilbourque thks pour la mise à jour. J'ai modifié la réponse en conséquence.
Vous pouvez ajouter 48 heures à une date donnée, puis si le résultat est plus tôt que votre date de début, vous savez que vous avez 48 heures après 48 heures.
Si vous n'avez pas besoin de gérer des cas spéciaux, vous pouvez utiliser la fonction .Before () et créer un objet de date pour représenter il y a 48 heures:
DateTime original = new DateTime("your original date object");
DateTime now = new DateTime();
DateTime minus48 = now.minusHours(48);
if (original.isBefore(minus48)) {
//48 hours has elapsed.
}
Date twoDaysAgo = new Date(System.currentTimeMillis() - 1000 * 60 * 60 * 24 * 2);
Date parsedDate = new SimpleDateFormat("y/M/d h:m:s").parse(myDateString);
boolean hasTimePasssed = parsedDate.before(twoDaysAgo);
J'ai pu accomplir cela en utilisant une bibliothèque Jodatime dans mon projet. Je suis sorti avec ce code. Ceci vérifiera si l'intervalle de temps entre DateTime1 et DateTime2 est de plus de 20 minutes. Changer la propriété en jours. Ce sera plus facile pour vous maintenant. Cela reviendra faux. P> p>
Vous pouvez utiliser ce qui suit: espère que cela peut vous aider. P> p>
En plus de Si vous souhaitez vérifier si une date est entrée entre une autre fois, disons est http://joda-time.sourceforge.net/apidocs/org/joda/time/base/basesinglefieldperiod.html p> p> Date1 Code> 4HRS entre Date2 Code>, Joda a des classes différentes juste pour les scénarios que vous pouvez utiliser: p>
FYI, le projet Joda-Time est maintenant en mode de maintenance. L'équipe conseille la migration vers les classes Java.Time.
Le projet Joda-Time est maintenant en mode de maintenance. L'équipe conseille la migration vers les classes Java.Time.
L'approche moderne utilise les classes Java.Time. P>
Analyse de votre entrée de format yyyy / mm / jj hh: mm: ss code>. C'est presque dans le format ISO 8601 standard. Ajustez-vous à vous conformer. P> Duration d = Duration.ofHours( 48 ) ;
if ( instant.plus( d ).isBefore( now ) ) { ⦠}
Avez-vous encore essayé quelque chose? Bibliothèques comme Joda-Time? Calcul des millisecondes écoulés entre les dates?
Convertissez toutes les deux chaînes de temps en horodatages et vérifiez qu'ils sont plus que
48 * 3600 * 1000 code> millisecondes à part.Dupliqué possible de Comment calculer la différence de temps en Java?
Dupliqué possible de Calcul de la différence entre deux instances de date Java