Google
[IT] Java - Stampa estremi di una settimana (usa java.util.Calendar)

Java - Stampa estremi di una settimana (usa java.util.Calendar)


Ho avuto la necessita' di stampare gli estremi di una data settimana nella forma "da g/m/a a g/m/a",
ad esempio "da 25/11/2002 a 1/12/2002".
La cosa e' facilmente risolvibile mediante la classe "java.util.Calendar".
Da notare che a me serviva anche avere le settimane di altri anni oltre a quello corrente. Da qui viene l'utilizzo dei due parametri "settimana" e "anno".
  import java.util.Calendar;
  
  ...

  /**
   * Crea un testo contenente gli estremi di una particolare coppia 
   * (settimana, anno).
   * @param _settimana e' il numero della settimana dell'anno
   * @param _anno e' il numero dell'anno in cui "esaminare" la settimana
   * @return una stringa del tipo "da 25/11/2002 a 1/12/2002"
   * rappresentante gli estremi della settimana passata come parametro.
   * Come primo giorno della settimana voglio considerare Lunedi' (Monday).
   * Ad esempio, per la settimana 48, dell'anno 2002, 
   * esce "da 25/11/2002 a 1/12/2002" (25/11=Lunedi' 1/12=domenica).
   */
  public String getIntervalloSettimana(int _settimana, int _anno)
  {
    StringBuffer risultato = new StringBuffer("");
    Calendar cal = Calendar.getInstance();

    //Configuro la settimana e l'anno passati
    cal.set(Calendar.YEAR, _anno);
    cal.set(Calendar.WEEK_OF_YEAR, _settimana);

    //Cambio la data di "cal" con il primo giorno della 
    //settimana voluta
    cal.set(Calendar.DAY_OF_WEEK,Calendar.MONDAY);
    risultato.append("da " +
      cal.get(Calendar.DATE) + "/" +
      (cal.get(Calendar.MONTH) + 1) + "/" +
      cal.get(Calendar.YEAR));

    //Cambio la data di "cal" con l'ultimo giorno della 
    //settimana voluta
    cal.add(Calendar.DATE,6);
    risultato.append(" a " +
      cal.get(Calendar.DATE) + "/" +
      (cal.get(Calendar.MONTH) + 1) + "/" +
      cal.get(Calendar.YEAR));

    return risultato.toString();
  }

  ...
Home Giansante Gabriele (c) 1999-2006