eu.eu:
Obrigado pela atenção mas o que eu quero, e não consegui e deve ser uma coisa simples que tava trabalhando com java.
é simplis quando o usuario clicar em um formulario em html e vai manda este dados para servelet, mais só que a data vai como usuario digitar tipo 12-04-2011 então quero
fazer esta troca para o formato 2011-04-12 para armazena no banco de dados.
a ideia é está poderia fazer javaScript antes de enviar mas quero fazer a validação no servelet.
Só a conversão de String da pra fazer até com regex usando replaceAll, mas não acho que seja a solução mais indicada.
Eu indico que seja da seguinte forma:
1- Pegue a String digitada com request.getParameter(“nomeDoParametro”);
2- Crie o DateFormat usando o pattern do formato digitado pelo usuário:
SimpleDateFormat formatador1 = new SimpleDateFormat("dd-MM-yyyy"); // dia-mês-ano3- Faça o parse da String para Date;
4- Na hora de salvar, crie um objeto java.sql.Date e passe para sua PreparedStatement. Para criar o java.sql.Date use o construtor que recebe o tempo em milissegundos:
java.sql.Date dataSQL = new java.sql.Date(date.getTime()); // date é a data obtida pelo parse de SimpleDateFormat
. . .
pstmt.setDate(dataSQL); // estou assumindo que pstmt é sua PreparredStatement que salva os dados no BD
Assim o próprio PreparredStatement já se encarrega de montar a query com o formato correto.
Edit: Não tinha visto que já estava resolvido. Parabéns.