Visualizzazione dei risultati da 1 a 6 su 6

Discussione: [JAVA]Gestione date

  1. #1

    [JAVA]Gestione date

    Ho bisogno di di chiedere da tastiera una data (giorno, mese e anno) e poi usarla nel mio programma java.

    Una soluzione che ho già trovato è di usare la classe GregorianCalendar che offre metodi molto utili poi per confrontare le date. Quindi chiedere all'utente separatamente 3 interi, corrispondenti a giorno, mese ed anno (con le dovute restrizioni) per poi passarli al costruttore di GregorianCalendar.

    Ma girovagando per la rete ho scoperto l'esistenza della classe "java.text.SimpleDateFormat" che permetterebbe di inserire le date nel formato comodissimo gg/mm/yyyy. Qualcuno di voi però sa dirmi, se c'è, un metodo per convertire la data così acquisita in GregorianCalendar così da poter utilizzare i metodi della stessa?

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    L'uso delle API in java NON è facoltativo.

    http://download.oracle.com/docs/cd/E...ateFormat.html

    eredita "parse" da DateFormat
    parse

    e GregorianCalendar eredita setTime da Calendar.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3


    parse mi serve per vedere se la data è corretta no?

    ma cos'è l'API e cosa c'entra con la domanda che ho fatto?

    Scusa ma sono alle prime armi.

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    serve programmare con il manuale e le API sotto mano.

    parse non verifica se una data è corretta, parse prova a restituire un Date da una String che rappresenta una data nel formato da te indicato.
    Se non ci riesce (ad esempio tu vuoi il formato gg/mm/aaaa e la String che rappresenta la data è qualcosa tipo "5 Gennaio 98"), verrà lanciata un'eccezione.

    Da Date ad avere un GregorianCalendar "settato" all'istante corrispondente il passo è breve (un metodo).
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  5. #5
    ho trovato il metodo che converte un date in GregorianCalendar direttamente

    Però mi sorge un altro dubbio...se la mia stringa è del tipo "3 maggio 1987" ok, parte l'eccezione di Parse e mi dice che non è possibile convertirla perchè non è nel formato corretto.

    Ma se è del tipo "3/78/1990" o "41/02/1990? Il formato è coretto e che succede? Mi ritroverei un GregorianCalendar con questa data assurda che non esiste?

  6. #6
    Utente di HTML.it L'avatar di desa
    Registrato dal
    Oct 2008
    Messaggi
    569
    Non hai detto che metodo di conversione stai usando... comunque il GregorianCalendar rappresenta sempre una data "consistente": se, per esempio, in fase di costruzione specifichi
    anno: 2000
    mese: 0 (cioè gennaio)
    giorno: 32
    il tuo GregorianCalendar punterà al 1 febbraio 2000: ovverosia il giorno eccedente ha portato a "sforare" in febbraio. Stesso discorso vale anche per i mesi

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.