Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2009
    Messaggi
    88

    confronto data in formato gg/mm/aaaa

    Vorrei controllare, confrontando 2 date in formato Stringa "gg/mm/aaaa"

    esempio:
    oggi: 13/06/2010 input: 10/06/2010 output: true
    oggi 13/06/2010 input 20/06/2010 output: false

    codice:
    public boolean controlla(String dataInput){
           String data=getData();  // restituisce la data odierna (Gregorian) formato stringa: "gg/mm/aaaa"
           if ( dataInput.compareTo(data)<0) return true;
           else return false;
       }
    il dubbio che mi sorge, sto confrontando Stringhe (singolo carattere in formato ascii) oppure effettivamente la data?
    oppure devo convertire la data Stringa ad int per poter confrontare effettivamentele con interi?

    Grazie...

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

    Re: confronto data in formato gg/mm/aaaa

    Originariamente inviato da feys88
    il dubbio che mi sorge, sto confrontando Stringhe (singolo carattere in formato ascii) oppure effettivamente la data?
    Solo i caratteri delle stringhe. Quindi non appropriato ("02/06/2010" verrebbe visto come inferiore a "08/06/1990" solo perché il secondo carattere "2" è inferiore al secondo "8").

    Originariamente inviato da feys88
    oppure devo convertire la data Stringa ad int per poter confrontare effettivamentele con interi?
    Se vuoi ottenere come numeri le 3 parti e confrontarle sì, tecnicamente è fattibile con la giusta logica.
    Ma sarebbe più semplice ottenere un Date parsando la stringa con java.text.SimpleDateFormat e confrontare i due Date.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Non ho capito bene..
    Se la data immesa è minore di quella odierna bisogna settare la variabile a true; viceversa, a false???
    Cmq..credo potresti crearti il metodo da te per confrontare le date sotto forma di string..
    Per esempio io userei substring e confronterei le singole sub: giorno, mese, anno

  4. #4
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802

    Re: Re: confronto data in formato gg/mm/aaaa

    Originariamente inviato da andbin
    Solo i caratteri delle stringhe. Quindi non appropriato ("02/06/2010" verrebbe visto come inferiore a "08/06/1990" solo perché il secondo carattere "2" è inferiore al secondo "8").
    Potrebbe usare il formato giapponese per le date: aaaa/mm/gg In questo modo può fare il confronto più facilmente :master:
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2009
    Messaggi
    88

    Re: Re: confronto data in formato gg/mm/aaaa

    Originariamente inviato da andbin
    Solo i caratteri delle stringhe. Quindi non appropriato ("02/06/2010" verrebbe visto come inferiore a "08/06/1990" solo perché il secondo carattere "2" è inferiore al secondo "8").

    Se vuoi ottenere come numeri le 3 parti e confrontarle sì, tecnicamente è fattibile con la giusta logica.
    Ma sarebbe più semplice ottenere un Date parsando la stringa con java.text.SimpleDateFormat e confrontare i due Date.

    Cosa intendi parsando con " java.text.SimpleDateFormat e confrontare i due Date" ?
    questa classe prende come parametro le date li contronta e restituisce il risultato?

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

    Re: Re: Re: confronto data in formato gg/mm/aaaa

    Originariamente inviato da feys88
    Cosa intendi parsando con " java.text.SimpleDateFormat e confrontare i due Date" ?
    questa classe prende come parametro le date li contronta e restituisce il risultato?
    No, SimpleDateFormat non fa alcun confronto. Invece è in grado di gestire la conversione tra Date e String (formattazione in stringa e parsing da stringa) secondo un formato espresso in modo specifico.

    E Date è solamente la rappresentazione di un istante nel tempo con la precisione del millisecondo, ha un campo interno di tipo long (set/getTime() ) ed ha after() e before() nonché implementando Comparable ha compareTo().
    Quindi comparare 2 Date è appropriato e pure molto banale.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.