Ajouter un jour à une date en java

Un petit algorithme pour ceux qui veulent ajouter un jour à une date qui se trouve sur un format peu adapté genre 07-04-2008.
Effectivement afin de pouvoir manipuler ce genre d’opérations pour l’utilisation de l’API d’hellotipi.
Voilà donc ce que j’obtiens pour une String du style yyyy-mm-dd que je convertie sous le format yyyymmdd :


public static String addaDay(String date){

String years = date.substring(0, 4);
String months = date.substring(4,6);
String day = date.substring(6, 8) ;

int iday = Integer.parseInt(day);
int imonth = Integer.parseInt(months);
int iyears = Integer.parseInt(years);

if(iday<28){
iday++;
}
else if(iday>=28&&iday<30){
//every months has more than 29 day expect february
if(imonth!=2){
iday++;
}
else{
//in bisextile year february has 29 days
if(iday==28&&(iyears%4)!=0){
imonth++;
iday=1;
}
else iday++;
}
}
else if(iday==30){
//months with 31 day
if(imonth==1||imonth==3||imonth==5||imonth==7||imonth==8||imonth==10||imonth==12){

iday++;

}
else{
imonth++;
iday=1;
}

}
else if(iday==31){
if(imonth!=12){
imonth++;
iday=1;
}
if(imonth==12){
iday=1;
imonth=1;
iyears=iyears+1;
}
}

if(iday<10){
day="0"+iday;
}
else{
day=""+iday;
}
if(imonth<10){
months="0"+imonth;
}
else{
months=""+imonth;
}

String result=""+iyears+""+months+""+day;

return result;

}

5 Responses to “Ajouter un jour à une date en java”


  1. 1 vincent avr 7th, 2008 at 19:08

    c’est pour un concours ? ;-)

    sinon tu peux simplement utiliser SimpleDateFormat (méthodes parse et format) et Calendar.add(Calendar.DAY_OF_YEAR, 1)…

  2. 2 Pierre Alain avr 8th, 2008 at 9:51

    Hip Hip Houra ….

    Un truc à lire quand tu auras un peu de temps et qui te permettras également d’en gagner …

    http://java.sun.com/j2se/1.5.0/docs/api/java/util/Calendar.html

  3. 3 lolive avr 8th, 2008 at 11:05

    j’avoue que c’est pas obligatoirement la façon la plus simple mais je dois avouer que j’ai pris un certain plaisir à refaire un peu d’algorithmie ;)
    Et puis qui vous a dit que j’utilisais une version de la JDK > 1.5 ?

  4. 4 Pierre Alain avr 15th, 2008 at 15:00

    Si tu voulais faire un peu d’algo pas de problème. Mais faut il encore que la méthode proposée puisse être réutilisable. sinon tu vas écrire bon nombre de méthodes:
    addTwoDay, …/…

    Par contre à la lecture du contenu du lien posté ci-dessus, on peut voir concernant Calendar :

    Since:
    JDK1.1

    Je n’ai donc pas bien saisi la phrase :
    “Et puis qui vous a dit que j’utilisais une version de la JDK > 1.5 ?”.

  5. 5 lolive avr 15th, 2008 at 15:13

    merci j’ai depuis trouvé une fonction encore mieux pour bosser un peu l’algo, pour ce qui est de la version de la JDK, autant pour moi j’avais mal lu la date sur la doc de sun.
    Par contre je trouve vraiment l’utilisation de calendar tout sauf intuitive…
    Mais j’ai remarqué que souvent ce sont les objets dont l’utilisation est la plus complexe qui donne les résultats les plus intéressants, c’est je trouve le cas pour les JTable

Leave a Reply




 

les variétés

  • Buzzrace

    • Buzzrace
  • les autres domaines

  • les cueilleurs

  •  

    avril 2008
    D L Ma Me J V S
    « mar    
     12345
    6789101112
    13141516171819
    20212223242526
    27282930  

     

    Add to Technorati Favorites

     

     

     

    mail

     

     

    BlogoTop 2.0

    Ecole d'Ingénieur ECE - Master of Science - 3eme cyle Systèmes Embarqués - 3ème cycle Finance et Informatique - ECTEI BTS - HETIC Ecole Multimedia
    Majeure Systèmes Embarqués - Majeure Systèmes d'Information - Majeure Télécoms et Réseaux
    Grandes Ecoles Post Bac - Prépa Intégrée - Admission Post Bac S