Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    1,123

    [Java] GregorianCalendar: giorno della settimana sballato..

    Ciao a tutti,

    Da ieri sono in questa situazione: ho creato una piccola classe, in uno dei metodi ivi contenuti mostro sulla JTable (sulle colonne) la data.. ma.. il giorno della settimana non è corretto!

    codice:
    private String[] ottieniSettimana(int year, int month, int day) {
      gc = new GregorianCalendar(year,month,day);
      System.out.println(gc.get(Calendar.DAY_OF_WEEK));
      String[] giorni = {"Lun","Mar","Mer","Gio","Ven","Sab","Dom"};
      String[] smana = new String[7];
    	
      for(int i=0; i<smana.length; i++) {
        settimana[i]=giorni[gc.get(Calendar.DAY_OF_WEEK)-1]+" "+gc.get(Calendar.DATE)+"/"+(gc.get(Calendar.MONTH)+"/"+gc.get(Calendar.YEAR));
        
        gc.add(Calendar.DATE,1);
      }
    	
      return smana;
    }
    Chiamandolo in questo modo ottieniSettimana(2010,6,28);

    ottengo questo:
    Gio 28/6/2010 ...ecc. (per 7 giorni).

    L'altro problema è che giugno ha 30 giorni.. perchè a me continua sino a 31? O_o


    Sapete darmi una mano?

    Grazie! ^^

    PS: Visto che la Domenica è 1, ho provato anche a metterla per prima nell'array..ma il risultato non cambia.

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: [Java] GregorianCalendar: giorno della settimana sballato..

    Originariamente inviato da Patrick Jane
    Chiamandolo in questo modo ottieniSettimana(2010,6,28);

    ottengo questo:
    Gio 28/6/2010 ...ecc. (per 7 giorni).

    L'altro problema è che giugno ha 30 giorni.. perchè a me continua sino a 31? O_o
    Primo: nei Calendar il month è "zero-based", ovvero 0=Gennaio quindi 6 non è Giugno ma Luglio!

    Secondo: nei Calendar il day-of-week (campo DAY_OF_WEEK) è "one-based", con 1=Sunday (Domenica). Quindi anche se sottrai 1 per avere 0, il primo elemento dell'array non deve certo essere "Lun"!

    Terzo: non so se è un errore di trascrittura qui sul forum ma vedo la dichiarazione di 'smana' ma poi l'assegnamento a settimana[i]. Inoltre 'gc' non sembra una variabile locale.

    Quarto (è una mia opinione): se tutto questo è ancora sempre per quella tabella degli appuntamenti beh, io seguirei un approccio ben diverso.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    1,123

    Re: Re: [Java] GregorianCalendar: giorno della settimana sballato..

    Originariamente inviato da andbin
    Terzo: non so se è un errore di trascrittura qui sul forum ma vedo la dichiarazione di 'smana' ma poi l'assegnamento a settimana[i]. Inoltre 'gc' non sembra una variabile locale.
    Si, è un errore di scrittura. gc è un GregorianCalendar privato.

    Originariamente inviato da andbin
    Quarto (è una mia opinione): se tutto questo è ancora sempre per quella tabella degli appuntamenti beh, io seguirei un approccio ben diverso.
    ..eh..che mi consigli? Io ho fatto un mio table-model, e sono alle prese con un altro problema.. Comunque, che mi consigli di fare?

    Grazie!^^

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    1,123

    Re: Re: Re: [Java] GregorianCalendar: giorno della settimana sballato..

    [Chiedo scusa, questo post è stato un mio errore.]

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.