Data Parse con possibile a una cifra mese / giorno / ora utilizzando java.text.SimpleDateFormat
Domanda
In un progetto con Talend Open Studio (uno strumento di ETL codice generatrice di Open Source), sto ottenendo gli errori di parsing stringhe di data in entrata come "1967/03/14 00:00:00" ( di notare che il singolo mese cifre ).
Scavando nel la codice , posso vedere che utilizza java.text.SimpleDateFormat . Così la stringa della data modello mi aspetto ho bisogno di usare è "dM-yyyy H: mm: ss" ... ma continua a darmi errori come "data di analizzarlo: 1967/03/14 0: 00:00" .
Si considera che SimpleDateFormat possono affrontare il problema singolo o-due cifre. Ho bisogno di un modello di data diversa? (Certo, avrei potuto fare la pre-elaborazione di modificare i valori prima tentativi Java per leggere le stringhe come date, ma non dovrebbe essere necessario!)
Soluzione
Sei certo di effettivamente necessità di utilizzare d-M-yyyy
piuttosto che M/d/yyyy
? Posso capire perché avrebbe un problema con "1967/03/14" ... che data ti aspettavi che per essere? Nota che ha non solo hai "d" e il round modo sbagliato "M", ma hai anche specificato "-" invece di "/" come separatore