Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    883

    java - come visualizzare mesi non numerici

    Volevo visualizzare l'elenco dei mesi in maniera testuale
    Gennaio
    febbraio
    Marzo
    ecc...

    se utilizzo questo codice:

    codice:
    string dataAddebito = "07/2008";
    SimpleDateFormat sdf = new SimpleDateFormat("MM/YYYY");
    Date dataAddebito = sdf.parse(dataAddebito );
    Calendar c = new calendar(dataAddebito.getTime());
    int mese = c.get(Calendar.MONTH);
    ottengo
    1, 2, 3 ecc...

    come si può fare senza fare un mega if del tipo
    if (mese == 1) -> febbraio
    if (mese == 2) -> Marzo
    eccc...

  2. #2
    Ti puoi creare una associazione numero --> nomeMese ad esempio utilizzando una Hashtable:

    Codice PHP:
    Hashtable<IntegerStringmesi = new Hashtable<Integer,String>();
    //i mesi in java cominciano da 0
    mesi.put(0,"Gennaio");    
    mesi.put(1,"Febbraio");
    ...


    System.out.println(mesi.get(c.get(Calendar.MONTH))); 
    Al mio segnale... scatenate l'inferno!

  3. #3
    codice:
       Date dataAddebitoD = new Date();
            Calendar c = Calendar.getInstance();        
            c.setTime(dataAddebitoD);
            String mese = c.getDisplayName(Calendar.MONTH, Calendar.LONG,Locale.getDefault());
            System.out.println(mese);
    getDisplayName:
    Campo di calendar da mostrare (Ad esempio month o day etc.)
    Formato (LONG, SHORT etc.)
    Locale (A seconda del locale cambia la lingua o la rappresentazione dei numeri)

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    883
    peppem il metodo
    getDisplayName:
    fa parte della classe Timezone non di calendar, quindi come posso riscrivere il tuo codice?

  5. #5
    Il metodo fà parte della classe Calendar:
    http://java.sun.com/javase/6/docs/ap.../Calendar.html
    Questo è valido se usi la versione se 6 (jdk 1.6.x).

    Le precedenti non hanno tale metodo

    codice:
    import java.text.ParseException;
    import java.util.Calendar;
    import java.util.Date;
    import java.util.Locale;
    
    public class Main
    {
    
        /**
         * @param args the command line arguments
         */
        public static void main(String[] args) throws ParseException
        {                
            Date dataAddebitoD = new Date();
    
            Calendar c = Calendar.getInstance();        
            c.setTime(dataAddebitoD);
            String mese = c.getDisplayName(Calendar.MONTH, Calendar.LONG,Locale.getDefault());
            System.out.println(mese);        
        }
    }

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    883
    infatti il pb è che uso java 1.4.2, non c'è modo con questa versione?

  7. #7
    Mi sà che devi fare a "manina"!
    Ad esempio come ti consigliava R@ve M@ster.

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.