Différence en Jours entre Java deux dates?
Je veux obtenir la différence entre les deux Java les objets Date. J'ai utilisé Joda-Time library. Mais le problème c'est que je reçois les Jours grande différence que celle de la journée réelle différence.
Voici mon extrait de code:
DateFormat formatter = new SimpleDateFormat("mm/dd/yyyy");
Date someDate=new Date();
Date today = Calendar.getInstance().getTime();
try {
someDate = formatter.parse("06/22/2010");
}
catch(ParseException pe) {
System.out.println("Parser Exception");
}
int days = Days.daysBetween(new DateTime(someDate), new DateTime(today)).getDays();
System.out.println(" Days Between " + someDate + " : " + today + " - " + days);
Voici mon résultat:
Days Between Fri Jan 22 00:06:00 IST 2010 : Sun Jul 25 19:27:01 IST 2010 - 184
Ici, Pourquoi cela prend-il des "06/22/2010" comme le 22 janvier? Personne ne face à un problème similaire?
M'aider les amis.. Merci d'avance..
OriginalL'auteur Venkat | 2010-07-25
Vous devez vous connecter pour publier un commentaire.
Mois est MM
Dans votre cas:
OriginalL'auteur Cambium
Il semble que
mm
se réfère à quelques minutes, pas en mois, ce qui estMM
. Veuillez vérifier ici pour voir la liste de lettrage 🙂Maintenant le lien pointe vers la nouvelle version de la documentation Javadoc.
Merci .résolu le problème.....mm
OriginalL'auteur npinti
Votre modèle est légèrement défectueux.
mm
est analysée comme minutes en heure, vous êtes à la recherche pourMM
qui est mois de l'année.OriginalL'auteur Esko
mm => minutes, pas de mois - vous devez MM pour le mois, ce qui permet de résoudre votre Jan problème!
OriginalL'auteur Will A
Autres réponses correctement résolu votre problème spécifique.
LocalDate
Mais il y a une solution plus large. Si vous commencez avec seulement des dates, pas de temps de la journée et pas de temps horaires, vous devriez être en utilisant la
LocalDate
classe plutôt que deDateTime
.Fuseau Horaire
Votre code ignore la question cruciale de fuseaux horaires. Le temps des zones d'importance, même pour LocalDate, en essayant de déterminer "aujourd'hui". Voulez-vous la date d'aujourd'hui à Montréal ou à Paris. Un nouveau jour se lève à Paris plus tôt. Lorsque vous omettez de fuseau horaire, vous obtenez la JVM par défaut en cours de fuseau horaire.
Joda-Time Peut Analyser
En outre, permettez-Joda-Time en faire l'analyse. Pas besoin d'être à l'aide de java.util.Date & .Le calendrier de tous. Joda-time caractères de formatage sont presque les mêmes que java.util.Date, mais pas du tout être sire de consulter la doc. Dans ce cas, il-elle identique.
OriginalL'auteur Basil Bourque