Anomalia calendario

lostedsheep

Nuovo Utente
30 Nov 2010
18
0
0
Slave a tutti.
Sto implementando una classe che mi stampi un calendario ma riscontro un'anomalia quando devo recuperare la settimana ad esempio quella corrente.
Posto il codice che mi da il problema
Codice:
package calendario;

import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.Locale;

public class Calendario {

  private static String[] nomiMesi = {"Gen", "Feb", "Mar", "Apr", "Mag", "Giu", "Lug", "Ago", "Set", "Ott", "Nov", "Dic"};
  private GregorianCalendar dataAttuale;

  /**Questo costruttore crea un'istanza della classe impostando la data del 
   * calendario a quella corrente
   * 
   */
  public Calendario() {
      GregorianCalendar dataCorrente = new GregorianCalendar(Locale.ITALIAN);
      this.dataAttuale = dataCorrente;
  }
  
  /**Questo costruttore crea un'istanza della classe impostando la data del 
   * calendario a quella passata come parametro
   * 
   * @param dataAttuale 
   */
  public Calendario(GregorianCalendar dataAttuale) {
      this.dataAttuale = dataAttuale;
  }
  
  /**Questo metodo ritorna un intero corrispondente alla settimana alla quale
   * appartiene la data attuale
   *
   */
  public int getSettimanaAttuale() {
    return dataAttuale.get(Calendar.WEEK_OF_MONTH);
  }
  
  /**Questo metodo fa avanzare la data attuale al mese successivo
   *
   */
  public void aggiungiMese() {
    dataAttuale.add(Calendar.MONTH, 1);
  }
  
  /**Questo metodo restituisce la data attuale
   *
   */
  public Calendar getDataAttuale() {
    return dataAttuale;
  }
  
  /**Questo metodo restituisce una stringa con le informazioni sulla settimana
   * 
   * @return 
   */
  public String stampaInfoSettimana() {
      return dataAttuale.get(Calendar.DATE) + " " + nomiMesi[dataAttuale.get(Calendar.MONTH)] + " --> " + dataAttuale.get(Calendar.WEEK_OF_MONTH);
  }
}
ed un main
Codice:
package calendario;

public class Main {

    public static void main(String[] args) {

        Calendario c = new Calendario();

        for (int i = 0; i < 12; i++) {
            System.out.println(c.stampaInfoSettimana());
            c.aggiungiMese();
        }
    }
}
in pratica se il giorno cade di venerdì, sabato o domenica la settimana che mi viene restituita è quella precendente a quella che dovrebbe essere.
Magari dalla spiegazione non si capisce ma mandandolo in esecuzione sarà tutto più chiaro.
Grazie infinite a chi mi darà una mano.
 

Slyfer

Utente Attivo
4 Dic 2010
65
21
0
Ciao la risposta è nella documentazione della classe Calendar, in particolare:

"The first week of a month or year is defined as the earliest seven day period beginning on getFirstDayOfWeek() and containing at least getMinimalDaysInFirstWeek() days of that month or year."

In parole povere dato che firstDayOfWeek per il locale Italian è Lunedì, la prima settimana del mese inizia con il primo lunedì del mese, Per esempio il 10 giugno 2012 appartiene alla prima settimana perchè è il settimo giorno a partire dal primo lunedì del mese, quindi è l'ultimo giorno della prima settimana.

Ciao
 
Discussioni simili
Autore Titolo Forum Risposte Data
W Anomalia Pagina Facebook Social Media Marketing 9
R anomalia nella visualizzazione tabella mysql MySQL 1
B anomalia router TP Link Reti LAN e Wireless 0
T Sricam SP007 strana anomalia IP Cam e Videosorveglianza 0
A anomalia che non capisco... PHP 1
M Anomalia Pagerank 4 SEO e Posizionamento 0
M Mistero: Mozilla, tutto perfetto, anomalia in Internet explorer HTML e CSS 2
A anomalia menu java Javascript 0
C Anomalia Cartteri & recupero dati!!!!! Supporto Mr.Webmaster 0
M Plugin Calendario Appuntamenti WordPress 1
E Calendario appuntamenti \dipendenti PHP 0
F Calendario php? PHP 3
L [PHP] calendario PHP 0
R [WordPress] Calendario Personale per ogni Utente WordPress 0
maxnegri [javascript] calendario booking disponibilità Javascript 2
L [PHP] calendario: dati da DB in tabella PHP 1
K [PHP] Creazione di Calendario con orario PHP 4
Q Notice: Undefined index: codice in C:\xampp\htdocs\STAGE\calendario\modifica.php on line 10 PHP 8
A [Javascript] Datepicker - il calendario non si apre Javascript 16
Rhisen [PHP] Problema Calendario Eventi PHP 0
E [Javascript] Assegnazione variabile da campo input di tipo "a calendario" Javascript 3
Gaetano1991h Passaggio da calendario php a javascript PHP 2
V Servizio email con calendario condiviso Posta Elettronica 1
L Zimbra calendario Vs PHP PHP 0
G calendario collegato a database Classic ASP 2
felino [Wordpress] Ordine per Calendario Personalizzato WordPress 1
V Reperire le date della settimana del calendario jQuery 1
D Creare Calendario PHP PHP 0
A Pubblicazione dati su calendario settimanale jQuery 28
M Otttimizazione date calendario prenotazioni PHP 0
F Problema attivare/disattivare immagine calendario datepicker da select jQuery 1
M Calendario giornate campionato PHP 4
T PHP sync con gmail, rubrica google e calendario google PHP 0
felino [PHP][iCal] iCal: sincronizzazione e visualizzazione calendario PHP 2
L calendario e click <a href=' PHP 9
G Aggiornamento Calendario MS Access 3
felino Contact Form 7: calendario e formattazione messaggio WordPress 0
novello88 [EXCEL] Calendario precompilato Windows e Software 1
B Turno in quinta su calendario PHP 3
ivarello Calendario e tabelle PHP 2
A modifica al calendario Javascript 0
Monital [RISOLTO]creare un calendario stile campionato di calcio PHP 8
T calendario connesso a dati variabili Javascript 2
D Cambio funzioni mouse in calendario Javascript Javascript 1
M Calendario con 28 giorni anche per i mesi successivi PHP 2
A errore javascript calendario scolastico Javascript 3
B Inserimento risultati di un calendario calcistico tramite un solo bottone PHP 2
P Calendario e problema inserimenti PHP 0
Eruyomon Calendario Dinamico PHP 37
T Problema con calendario PHP 17

Discussioni simili