Cerco di essere il più chiaro possibile:
avendo una data iniziale ed un giorno della settimana scelto dall'utente, devo prendere la data che corrisponde a quel dato giorno...
ad esempio ho "9/7/2008" e "Lunedì"... il sistema dovrà quindi selezionare la data "14/7/2008" essendo il primo lunedì che incontra, io ho provato così... ma il while non mi funziona:
codice:String sd = (dati.get(0)); SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); Date data1 = new java.sql.Date(sdf.parse(sd).getTime());//mi prende la data di inizio String giorno_sett = dati.get(1); //mi prende il giorno della settimana int gg_data = data1.getDay(); int gg_scelto = -1; if (giorno_sett.equals("Lunedì")) { gg_scelto = 1; } else if (giorno_sett.equals("Martedì")) { gg_scelto = 2; } else if (giorno_sett.equals("Mercoledì")) { gg_scelto = 3; } else if (giorno_sett.equals("Giovedì")) { gg_scelto = 4; } else if (giorno_sett.equals("Venerdì")) { gg_scelto = 5; } //trova il giorno della settimana selezionato a partire dalla data di inizio specificata while (gg_scelto == gg_data) { if (gg_data == 6) { //se è sabato, vai avanti di tre giorni e vai a lunedì data1 = new Date(data1.getTime()+259200000); gg_data = 1; } else { //altrimenti controlla il giorno successivo data1 = new Date(data1.getTime()+86400000); gg_data++; } }

Rispondi quotando

grazie
