Ola Pessoal,
Ja procurei respostas no forum mas não achei.
Quero saber de voces como resolvo a seguinte situacao:
Tenho uma jsp com um campo data (dd/mm/yyyy), esse campo data fara parte de um objeto que será persistido em banco de dados usando PreparedStatement (ps.setDate(1, objeto.data). So que a informacao do campo da jsp vem como String (request.getParameter(“data”). Como eu faco a transformaçao da String em java.sql.Date? pois o PreparedStatement nao aceita java.util.Date.
OBS: A data inserida nao será a data do dia e as outras formas de conversao que encontrei transformam em java.util.Date
String dataString = request.getParameter("data");
DateFormat fmt = new SimpleDateFormat("dd/MM/yyyy");
java.sql.Date data = new java.sql.Date(fmt.parse(dataString).getTime());
Lembre-se sempre que no pattern o mês é sempre é MM em maiúsculo(ex: “dd/MM/yyyy”) , senão o resultado se torna inconsistente. mm minúsculo indica minutos.
[quote=ziegfried]
String dataString = request.getParameter("data");
DateFormat fmt = new SimpleDateFormat("dd/MM/yyyy");
java.sql.Date data = new java.sql.Date(fmt.parse(dataString).getTime());
Olá obrigado! Sim, consultei a API so que eu olhe i simpledateformat e nao entendi muito bem! olhei o metodo parse e tentei fazer porem nao oberservei esse .getTime e qndo fiz um teste ele deu erro qndo utilzei o java.sql.Date. Obrigado!
[quote=thimor][quote=ziegfried]
String dataString = request.getParameter("data");
DateFormat fmt = new SimpleDateFormat("dd/MM/yyyy");
java.sql.Date data = new java.sql.Date(fmt.parse(dataString).getTime());
Olá obrigado! Sim, consultei a API so que eu olhe i simpledateformat e nao entendi muito bem! olhei o metodo parse e tentei fazer porem nao oberservei esse .getTime e qndo fiz um teste ele deu erro qndo utilzei o java.sql.Date. Obrigado![/quote]
Que fique bem claro que o parse(String s) retorna um java.util.Date. Portanto, getTime() é um método chamado por um objeto java.util.Date que retorna um long representando a data em milisegundos. O fiz porque há um construtor da java.sql.Date que aceita um long representando a data em milisegundos.