La mia situazione di partenza è una data salvata in un database (class Date), a cui devo aggiungere alcuni giorni lavorativi.
Converto Date a DateTime (package JodaTime), ecco la funzione che fa a caso nostro, prendendo in considerazione solamente i giorni dal lunedì al venerdì:
public DateTime addLavorativeDays (DateTime startDate, int lavorativeDays){
while (lavorativeDays>0){
System.out.println(startDate.getDayOfWeek());
if (startDate.getDayOfWeek()<6){
startDate = startDate.plusDays(1);
lavorativeDays--;
}
else {
startDate = startDate.plusDays(1);
}
}
return startDate;
}
Un controllo utile è sicuramente quello che date 2 date (inizio-fine) ci riporta il numero di giorni lavorativi:
public int returnWeeklyDays(DateTime first, DateTime second){
int days=0;
while ((Days.daysBetween(first, second)).getDays()!=0){
if (first.getDayOfWeek()<6){
days++;
}
first = first.plusDays(1);
}
return days;
}
Nessun commento:
Posta un commento