Tô trabalhando com Servlets e JSP em um projeto com MySQL.
No MySQL o formato de data é yyyy-mm-dd ou yyyy-mm-dd hh:mm:ss
Eu gostaria de ao usar o Servlet, quando instanciasse um Date
ela fosse formata no formato que apresentei acima.
Não sei bem como usar a classe SimpleDateFormat(String pattern).
Gostaria de usar esse formato tanto para salvar no banco como ajustar
a variável do tipo Date quando fizesse a consulta no MySQL.
DateFormat df = DateFormat.getDateInstance(DateFormat.MEDIUM, new Locale("PT", "BR");
ResultSet result = blaBlaBla();
if(result.next()) System.out.println(df.format(result.getDate("Data")))
DateFormat df = DateFormat.getDateInstance(DateFormat.MEDIUM, new Locale("PT", "BR");
PreparedStatement ps = connection.prepareStatement("UPDATE TABELA SET DATA = ?");
String data = bleBleBle();
try {
ps.setDate(df.parse(data));
} catch(ParseException e) {
// Trate seu erro aqui
}
Os métodos blaBlaBla() e bleBleBle(), de nomes extremamente descritivos, servem para retornar um ResultSet que tem uma coluna chamada “DATA” e para retornar uma data formatada numa String, respectivamente.
PreparedStatement ps = connection.prepareStatement("SELECT * FROM registro WHERE data = ?");
ps.setTimestamp(data);
O comando ps.setTimestamp(data) formata a sua variavel do tipo Timestamp para a configuração correta do teu Banco de Dados, ai tu nao precisa se preocupar com isso!! Mas se isso nao funcionar, o SimpleDateFormat funciona assim:
SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy");
System.out.println(df.format(data));
Ou seja, na String pattern que eh recebida pela funcao SimpleDateFormat tu deve passar a configuração correta de como tu quer a formatação!! Olha a documentacao da API do SimpleDateFormat que tu vai ver mais detalhes!
Para ficar do jeito que tu quer eh soh colocar desse jeito aki
new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);
Onde:
y = ano, entaum yyyy = 2007
M = mes, entaum MM = 03
d = dia, entaum dd = 22
H = hora no formato 24, entaum HH =20
m = minutos, entaum mm = 30
s = segundos, entaum ss = 00
h = hora no formato 12, entaum hh = 8