Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2015
    Messaggi
    37

    [JAVA] SimpleDateFormat

    ciao,
    vorrei capire come mai questo codice mi segnala errore:

    codice:
    SimpleDateFormat simpleDateFormat =  new  SimpleDateFormat ( "yyyy" ); 		try {
    			System . out . println ( simpleDateFormat . parse ( "0" ));
    			simpleDateFormat . setLenient ( false ); 
    		System . out . println ( simpleDateFormat . parse ( "0" ));
    		} catch (ParseException e) {
    			e.printStackTrace();
    		}
    l'errore è

    codice:
    java.text.ParseException: Unparseable date: "0"
    	at java.text.DateFormat.parse(Unknown Source)
    	at Client.main(Client.java:29)
    precisamente il metodo setLenient cosa fa?

    grazie

  2. #2
    From javaDoc :
    Specify whether or not date/time parsing is to be lenient. With lenient parsing, the parser may use heuristics to interpret inputs that do not precisely match this object's format. With strict parsing, inputs must match this object's format.

    Quindi mi torna che ti dia errore dato che "0" non matcha assolutamente con pattern inserito, scommetto che se metti "0000" non ti da errore...

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2015
    Messaggi
    37
    Quote Originariamente inviata da francesco.muia Visualizza il messaggio
    From javaDoc :
    Specify whether or not date/time parsing is to be lenient. With lenient parsing, the parser may use heuristics to interpret inputs that do not precisely match this object's format. With strict parsing, inputs must match this object's format.

    Quindi mi torna che ti dia errore dato che "0" non matcha assolutamente con pattern inserito, scommetto che se metti "0000" non ti da errore...
    continua a darmi errore

  4. #4
    Ovvio che ti da errore se metti 0000 , devi mettere un anno valido l'anno 0000 non esiste metti 0001 e vede come funziona e tra l'altro avrai la stessa data

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2015
    Messaggi
    37
    quindi il metodo setLenient controlla se il formato della data di ingresso è corretto?

  6. #6
    Ma un po' di inglese ....
    con lenient a false di dateformat si aspetta che la data prese in input, parse, siano esattamente dello stesso formato specificato altrimenti solleva un eccezione, es pattern dd/MM/yyyy input 1/12/2015 -> lenient a true nessuna eccezione -> lenient false eccezione hai specificato nel pattern che il giorno sia composto da due cifre e hai cercato di fare il parse con una data in cui il giorno è di una sola cifra

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.