Comment obtenir la liste des mois & années entre deux dates
J'ai besoin de votre aide dans l'obtention de la liste des mois et des années dans la Chaîne entre les deux dates. L'utilisateur entre deux dates dans le format de Chaîne de:
String date1 ="JAN-2015";
String date2 ="APR-2015";
De sorte que le résultat devrait être:
- Jan-2015
- FEB-2015
- MAR-2015
J'ai essayé d'utiliser le code suivant mais il m'a donné de mauvais résultats:
List<Date> dates = new ArrayList<Date>();
String str_date ="JAN-2015";
String end_date ="APR-2015";
DateFormat formatter ;
formatter = new SimpleDateFormat("MMM-yyyy");
Date startDate = formatter.parse(str_date);
Date endDate = formatter.parse(end_date);
long endTime =endDate.getTime() ;
long curTime = startDate.getTime();
while (curTime <= endTime) {
dates.add(new Date(curTime));
curTime ++;
}
for(int i=0;i<dates.size();i++){
Date lDate =(Date)dates.get(i);
String ds = formatter.format(lDate);
System.out.println(ds);
}
Veuillez donner des détails sur les résultats que vous obtenez et ce que vous avez fait pour essayer de trouver le problème.
J'ai Java heap space erreur
Alors, où devrais-je ajouter le calcul ci-dessus?
Si vous êtes à l'aide de Java 8, vous devez utiliser le
J'ai Java heap space erreur
curTime
est le temps en millisecondes. Cela signifie qu'un mois est d'environ 30 jours × 24 heures x 60 minutes x 60 secondes × 1000 millisecondes, et vous êtes en augmentant par une seule milliseconde à chaque itération.Alors, où devrais-je ajouter le calcul ci-dessus?
Si vous êtes à l'aide de Java 8, vous devez utiliser le
java.time
paquet, en utilisant LocalDate
plutôt que Date
. si vous ne le faites pas, vous devez télécharger Joda Temps et l'utiliser. Vous pouvez aussi le faire en utilisant un Calendar
objet et le réglage de la month
champ.
OriginalL'auteur 99maas | 2015-04-06
Vous devez vous connecter pour publier un commentaire.
En utilisant le moins de code possible et base de bibliothèques java et d'obtenir le résultat que vous avez demandé. Ainsi, vous pouvez modifier la date1 et date2 variables.
OriginalL'auteur Knomo Seikei
Dans le cas où votre version de Java est < 8 vous pouvez utiliser le Calendrier comme suit:
Si vous avez un luxe de Java 8, puis le code devient de plus simple:
OriginalL'auteur Sergey Pauk