[algo java] Calcul de jour ouvrables (dates)

Calcul de jour ouvrables (dates) [algo java] - Java - Programmation

Marsh Posté le 26-08-2005 à 14:15:11    

Salut!
 
J'ai écrit la methode suivante qui permet d'ajouter ou de retrancher un nombre de jours ouvrables à une date(sans tenir compte des jours fériés).
 

Code :
  1. public static Date dateAddIgnoreWeekEnd(Date aDate, int nbDay) {
  2.         GregorianCalendar eD = new GregorianCalendar();
  3.         eD.setTime(aDate);
  4.         int offset         = 1;
  5.         int offsetSunday   = 1;
  6.         int offsetSaturday = 2;
  7.         if (nbDay < 0) {
  8.             offset         = -1;
  9.             offsetSunday   = -2;
  10.             offsetSaturday = -1;
  11.         }
  12.         for (int i = 1; i <= Math.abs(nbDay); i++) {
  13.             eD.add(GregorianCalendar.DATE, offset);
  14.             if (eD.get(eD.DAY_OF_WEEK) == eD.SATURDAY) {
  15.                 eD.add(GregorianCalendar.DATE, offsetSaturday);
  16.             } else if (eD.get(eD.DAY_OF_WEEK) == eD.SUNDAY) {
  17.                 eD.add(GregorianCalendar.DATE, offsetSunday);
  18.             }
  19.         }
  20.         return eD.getTime();
  21.     }


 
Et bon, je n'aime pas ce code. Est-il possible d'éviter l'itération (for i...)?
Je me suis pris la tête un moment avec des divisions entières et des modulos, mais sans grand succès...

Reply

Marsh Posté le 26-08-2005 à 14:15:11   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed