importjava.util.Date;importjava.text.*;classTesteSeculo{publicstaticvoidmain(String[]args)throwsParseException{// http://java.sun.com/javase/6/docs/api/java/text/SimpleDateFormat.html#set2DigitYearStart(java.util.Date)String[]exemplos={"30/03/09",// convertido corretamente para 30/03/2009"30/03/2009","30/3/9"// como não tem 2 dígitos não vai para 30/03/2009.};DateFormatdf1=newSimpleDateFormat("dd/MM/yyyy");SimpleDateFormatdf2=newSimpleDateFormat("dd/MM/yy");df2.set2DigitYearStart(df1.parse("01/01/1950"));for(Stringex:exemplos){Datedt=df2.parse(ex);System.out.println(df1.format(dt));}}}
Se o Joseph Emmanuel tivesse um pouco mais de cuidado (escrever 30/03/09) até funcionava OK. Mas o Java não previu o caso 30/03/9. Rode o programa acima.
Ou seja, você tem de acertar manualmente antes de mandar para o método parse, se houver apenas 1 dígito no ano.
tebosoftware
Bom entendi o q vc quiz dizer… mas ai vou ser obrigado a eu mesmo montar um conversor?
ou como vc faria?
procuraria os / e iria separar cada valor?
T
thingol
Basta acertar o caso “30/3/9” para “30/3/09”. Isso não é difícil de fazer.