Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [Java] Parsing di diversi formati Data

    Sto realizzando un metodo che mi permetta di effettuare il parsing di diversi formati Data.
    Ho scritto una procedura ma non so fino a che punto possa andar bene....per adesso non mi funziona.

    Eccola:
    codice:
    public Date convertiData(String data){
            Date dat=null;
    	DateFormat formatter=null;
    	String[] formati={"MM/dd/yy","yyyy.MM.dd G 'at' HH:mm:ss z","EEE, MMM d, ''yy","h:mm a","hh 'o''clock' a, zzzz","K:mm a, z","dd-MMM-yy","yyyy.MM.dd.HH.mm.ss","E, dd MMM yyyy HH:mm:ss Z","yyyyy.MMMMM.dd GGG hh:mm aaa","EEE, d MMM yyyy HH:mm:ss Z","yyMMddHHmmssZ","yyyy-MM-dd'T'HH:mm:ss.SSSZ","yyyy-MM-dd HH:mm"};
    	try{
    	    for(int i=0;i<formati.length;i++){
                  formatter = new SimpleDateFormat(formati[i]);
    	      dat=(Date)formatter.parse(data);
    	    }
    	}catch(ParseException e){}
            return dat;
    }
    Dov'è che sbaglio?

    Volevo sapere una cosa...ma appena si incontra un'eccezione di formato si esce dal "for"? perchè se così fosse allora se il primo formato controlla non corrisponde gli altri formati non vengono neanche controllati.

    Mi sapete aiutare????
    Luca >> http://www.pollosky.it

  2. #2
    da come hai scritto le cose immagino che solo un formato sia "verificato" .... altrimenti nn mi spiegherei il codice...
    quindi va semplicemente modificato in :

    codice:
        public Date convertiData(String data){
                Date dat=null;
        	DateFormat formatter=null;
        	String[] formati={"MM/dd/yy","yyyy.MM.dd G 'at' HH:mm:ss z","EEE, MMM d, ''yy","h:mm a","hh 'o''clock' a, zzzz","K:mm a, z","dd-MMM-yy","yyyy.MM.dd.HH.mm.ss","E, dd MMM yyyy HH:mm:ss Z","yyyyy.MMMMM.dd GGG hh:mm aaa","EEE, d MMM yyyy HH:mm:ss Z","yyMMddHHmmssZ","yyyy-MM-dd'T'HH:mm:ss.SSSZ","yyyy-MM-dd HH:mm"};    	
        	    for(int i=0;i<formati.length;i++){
                     try{
                      formatter = new SimpleDateFormat(formati[i]);
        	      dat=(Date)formatter.parse(data);
                     }catch(ParseException e){e.printStackTrace();}
        	    }    	
                return dat;
        }
    magari logga meglio l'errore che ci si capisce qualcosa se i conti nn dovessero tornare
    ► ☺ ◄

  3. #3
    infatti avevo fatto un errore io, scusami.


    ora però ho un altro problema.

    ho delle data in questo formato:

    Mon, 13 Apr 2006 13:30:23 +0200

    e non riesco ad identificarle, ho impostato per queste date il formato generale: "EEE, dd MMM yyyy HH:mm:ss Z".

    ma non riesce a trovare la corrispondeza, come mai?
    Luca >> http://www.pollosky.it

  4. #4
    ho capito il perchè...

    riconosce solo la lingua italiana e adesso come faccio?

    cioè se la data è "Lun, 10 Apr 2006 13:30:23 +0200" allora la riconosce.

    Come faccio ad impostare la lingua nel SimpleDateFormatter???
    Luca >> http://www.pollosky.it

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 © 2024 vBulletin Solutions, Inc. All rights reserved.