Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2008
    Messaggi
    33

    Data di tipo gg-mm-aaaa in java

    Salve a tutti!
    So che in java è presente una classe chiamata GregorianCalendar che permette di gestire le date,ma data la sua complessità non riesco ad adattarla al mio semplice problema.

    L'obiettivo è chiedere all'utente di immettere una data di tipo gg-mm-aaaa,in più di stabilire dei limiti sull'anno.Ad es. sono consentiti solo valori tra 2000-2008

    Potreste aiutarmi?

    GRazie in anticipo

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

    Re: Data di tipo gg-mm-aaaa in java

    Originariamente inviato da z0rk
    L'obiettivo è chiedere all'utente di immettere una data di tipo gg-mm-aaaa,in più di stabilire dei limiti sull'anno.Ad es. sono consentiti solo valori tra 2000-2008

    Potreste aiutarmi?
    Chiariamo un momento: parti da una stringa chiesta in input e questo è ok. Cosa vuoi ottenere? Un Date? Un Calendar? 3 valori int giorno/mese/anno??
    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
    Jan 2008
    Messaggi
    33
    Il problema è che dopo aver creato l'oggetto GregorianCalendar non so come manipolarlo.In più devo considerare 3 campi quindi 3 valori numerici giorno,mese,anno.

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da z0rk
    Il problema è che dopo aver creato l'oggetto GregorianCalendar non so come manipolarlo.In più devo considerare 3 campi quindi 3 valori numerici giorno,mese,anno.
    Calendar ha metodi come set(), get(), add(), roll(), più ovviamente molti altri.
    Quale è il dubbio?
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2008
    Messaggi
    33
    Originariamente inviato da andbin
    Calendar ha metodi come set(), get(), add(), roll(), più ovviamente molti altri.
    Quale è il dubbio?
    Il dubbio è che non riesco a gestire l'oggetto.
    Dopo averlo creato
    codice:
    import java.util.*;
    public class Calendar {
    public static void main (String[]args){
    	GregorianCalendar cal = new GregorianCalendar();
    non so come manipolarlo.

    L'obiettivo ultimo è stampare a video una data di questo tipo: 23-12-2006 magari con i trattini e con il limite rispetto all'anno.Ovviamente deve essere l'utente a decidere giorno-mese-anno.

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da z0rk
    non so come manipolarlo.
    Ma hai letto la documentazione di Calendar/GregorianCalendar?? E immagino allora che non ti è nemmeno chiaro cosa è un Date, un Calendar e un DateFormat, come si usano e in che relazione sono.

    Posso suggerirti un ottimo libro su Java? Il Linguaggio Java - Manuale ufficiale - 4 Edizione
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2008
    Messaggi
    33
    Originariamente inviato da andbin
    Ma hai letto la documentazione di Calendar/GregorianCalendar?? E immagino allora che non ti è nemmeno chiaro cosa è un Date, un Calendar e un DateFormat, come si usano e in che relazione sono.

    Posso suggerirti un ottimo libro su Java? Il Linguaggio Java - Manuale ufficiale - 4 Edizione
    Il libro di java lo possiedo non è questo il problema.
    È che voglio sapere se col GregorianCalendar posso risolvere il mio problema tutto qui.

  8. #8
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    codice:
    import java.text.*;
    import java.util.*;
    
    public class Prova
    {
        public static void main (String[] args)
        {
            try
            {
                Scanner sc = new Scanner (System.in);
    
                SimpleDateFormat df = new SimpleDateFormat ("dd-MM-yyyy");
                df.setLenient (false);
    
                System.out.print ("Inserisci una data (gg-mm-aaaa): ");
                String line = sc.nextLine ();
    
                Date d = df.parse (line);
                
                Calendar c = Calendar.getInstance ();
                c.setTime (d);
                
                int anno = c.get (Calendar.YEAR);
                
                if (anno >= 2000 && anno <= 2008)
                    System.out.println ("La data " + df.format (d) + " e` accettata: ");
                else
                    System.out.println ("La data " + df.format (d) + " non e` accettata: ");
            }
            catch (ParseException pe)
            {
                System.out.println ("La data non e` valida");
            }
            catch (Exception e)
            {
                System.out.println (e);
            }
        }
    }
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  9. #9
    Utente di HTML.it
    Registrato dal
    Jan 2008
    Messaggi
    33
    Fantastico è quello che cercavo!
    Domani mi studio per bene questo codice!

    Grazie andbin

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.