Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 33
  1. #1

    Calendar, SimpleDateFormate e String

    ho un oggetto calendar:
    codice:
    public class CFPersona {
    
        private Calendar data;
    
        public CFPersona() {
    
            data = new GregorianCalendar();
        }
    .....
    lo uso qua per recuperare giorno, mese e anno:
    codice:
    private String getCharData() {
            String retVal = Integer.toString(data.get(Calendar.YEAR));
            retVal = retVal.substring(2, 2);
            switch (data.get(Calendar.MONTH)) {
                case 1:
                    retVal += 'A';
                    break;
                case 2:
                    retVal += 'B';
                    break;
                case 3:
                    retVal += 'C';
                    break;
                case 4:
                    retVal += 'D';
                    break;
                case 5:
                    retVal += 'E';
                    break;
                case 6:
                    retVal += 'H';
                    break;
                case 7:
                    retVal += 'L';
                    break;
                case 8:
                    retVal += 'M';
                    break;
                case 9:
                    retVal += 'P';
                    break;
                case 10:
                    retVal += 'R';
                    break;
                case 11:
                    retVal += 'S';
                    break;
                case 12:
                    retVal += 'T';
                    break;
            }
            if (sex) {
                String stringTemp = Integer.toString(data.get(Calendar.DAY_OF_MONTH));
                if (stringTemp.length() <= 1) {
                    retVal += "0";
                    retVal += stringTemp;
                } else {
                    retVal += stringTemp;
                }
            } else {
                retVal += Integer.toString((data.get(Calendar.DAY_OF_MONTH) + 40));
            }
            return retVal;
        }
    quando richiamo il metodo nel main dovrei trasformalo in stringa, una cosa del genere:
    codice:
        public static void main(String args[]) {
            CFPersona cf = new CFPersona();
            cf.data = data_trasformata_in_stringa;
        }
    ho letto che la trasformazione può essere fatta con SimpleDateFormat ma nn riesco a capire come.
    dove di preciso dovrei effettuare la conversione (se si può fare)?

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

    Re: Calendar, SimpleDateFormate e String

    Originariamente inviato da fermat
    codice:
            switch (data.get(Calendar.MONTH)) {
                case 1:
                    retVal += 'A';
                    break;
                case 2:
                    retVal += 'B';
                    break;
    ....
    Innanzitutto il campo "month" (Calendar.MONTH) di un Calendar è zero-based, ovvero 0=Gennaio, non 1.

    In ogni caso una formattazione di questo tipo (con quella transcodifica particolare per i codici fiscali) non la puoi certo fare con SimpleDateFormat.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3

    Re: Re: Calendar, SimpleDateFormate e String

    Originariamente inviato da andbin
    Innanzitutto il campo "month" (Calendar.MONTH) di un Calendar è zero-based, ovvero 0=Gennaio, non 1.

    In ogni caso una formattazione di questo tipo (con quella transcodifica particolare per i codici fiscali) non la puoi certo fare con SimpleDateFormat.
    e con cosa posso farla?
    o proprio nn si può fare?

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

    Re: Re: Re: Calendar, SimpleDateFormate e String

    Originariamente inviato da fermat
    e con cosa posso farla?
    o proprio nn si può fare?
    La transcodifica del mese devi per forza farla a parte. Se vuoi "compattare", fai un array di char con i 12 caratteri.
    Per quanto riguarda il giorno centra anche il sesso, se femminile va aggiunto 40. Quindi anche qui essendo un po' particolare è bene che lo fai tu.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    il +40 per le donne l'ho già messo....

    la mia idea era quella di passare la data tramite textbox nel formato gg/mm/yyyy (o almeno così ho fatto in c#).
    ma a questo punto qua forse è meglio mettere tre textbox (una per il giorno, una per il mese e una per l'anno) e separare i metodi facendoli tutti string.
    o hai altro da consigliarmi?

  6. #6
    Originariamente inviato da fermat
    la mia idea era quella di passare la data tramite textbox nel formato gg/mm/yyyy (o almeno così ho fatto in c#).
    Puoi farlo benissimo anche in java...i valori puoi recuperarli mediante match con una espressione regolare oppure usando direttamente lo split.
    Volendo potresti anche utilizzare una JFormattedTextField per rendere robusto l'input.

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    oppure un JXDatePicker
    che fa visualizzare un calendario e restituisce comunque una stringa well formed

  8. #8
    Originariamente inviato da valia
    oppure un JXDatePicker
    che fa visualizzare un calendario e restituisce comunque una stringa well formed
    questa soluzione mi pare un pò più facile.
    appena riesco ad aprire il sito di SwingX lo provo.
    intanto grazie!!

  9. #9
    ok ho installato la libreria e aggiunto un jxdatepicker.
    quello che nn ho capito però è come dovrei far interagire l'oggetto Calendar con questo picker.
    da quanto ho capito questo usa Date e nn Calendar.

  10. #10
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    e tu non puoi maneggiare oggetti Date?

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.