Je suis en train d'écrire une méthode qui prendra une LocalDateTime
et un DateTime
(en utilisant Joda 1.3) et déterminer si elles sont dans les 30 minutes les uns des autres. Voici le meilleur que je peux trouver, mais je sais il doit y avoir un meilleur/plus propre/façon plus efficace:Joda LocalDateTime et DateTime à portée
public boolean isWithin30MinsOfEachOther(LocalDateTime localDateTime, DateTime dateTime) {
return (
localDateTime.getYear() == dateTime.getYear() &&
localDateTime.getMonthOfYear() == dateTime.getMonthOfYear() &&
localDateTime.getDayOfMonth() == dateTime.getDayOfMonth() &&
localDateTime.getHourOfDay() == dateTime.getHourOfDay() &&
Math.abs((localDateTime.getMinuteOfHour() - dateTime.getMinuteOfHour())) <= 30
);
)
Sans parler, je ne pense pas que cela fonctionne si, par exemple, localDateTime
est Le 31 décembre 2012 23:58:00 et dateTime
est le 1er janvier 2013 00:01:00. Même chose avec le début/la fin de deux mois et jours différents. Aucune suggestion? Merci d'avance.
Merci @Tomas Narros, mais cela est Joda 1.3 et 'getStandardMinutes' n'est pas disponible dans l'API. En outre, je ne peux pas simplement mettre à jour vers une version plus moderne, je suis coincé avec 1.3. – IAmYourFaja
Et si j'utilisais 'getMillis()' à la place et que je le divisais par 1 000? – IAmYourFaja
@HeineyBehinds vrai, le fixant. Vérifiez mon édition s'il vous plaît (division par 60 et par 1000, ou plus clair, convertissant 30 à millis se multipliant pour 60 et 1000) ... –