Date format
hola a todos ! tengo este código:
String sfecha2= (sdia2+"/"+smes2+"/"+saño2);
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("dd/MMM/yyyy");
java.sql.Date datNac = new java.sql.Date(sdf.parse(sfecha2).getTime());
sesion.setAttribute("fecha",datNac);
El problema es q el atribute cuando lo imprimo me saca 2005-02-18
Alguien sabe porque ?
Gracias
String sfecha2= (sdia2+"/"+smes2+"/"+saño2);
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("dd/MMM/yyyy");
java.sql.Date datNac = new java.sql.Date(sdf.parse(sfecha2).getTime());
sesion.setAttribute("fecha",datNac);
El problema es q el atribute cuando lo imprimo me saca 2005-02-18
Alguien sabe porque ?
Gracias
Hola!!!!!!!!!!!
Te funciona con el pattern "dd/MMM/yyyy" ??? Te digo porque pusiste 3 meses
Salu2!!!!!!!!
Te funciona con el pattern "dd/MMM/yyyy" ??? Te digo porque pusiste 3 meses
Salu2!!!!!!!!
si pones mas de tres M el sistema lo coje como un String asi q poner mas da igual.
Hola de nuevo!!!!!!!!
El String q vos le pasas es como vos queres formatear la fecha. No es lo mismo "dd/MM/yyyy" que "yyyy/dd/MM" que "yyyy/MM/dd" . Es el 'pattern" q tendra la fecha. Si es importante. Fijate de cambiar eso a ver q pasa, pero supuestamente no deberias tener el problema q tenes. Porque esta actuando como si le hubieras pasado esto: "dd-MM-yyyy" y no esta bien entonces asumo q puede ser la M de mas
Salu2!!!!! y responde a ver si fue eso
El String q vos le pasas es como vos queres formatear la fecha. No es lo mismo "dd/MM/yyyy" que "yyyy/dd/MM" que "yyyy/MM/dd" . Es el 'pattern" q tendra la fecha. Si es importante. Fijate de cambiar eso a ver q pasa, pero supuestamente no deberias tener el problema q tenes. Porque esta actuando como si le hubieras pasado esto: "dd-MM-yyyy" y no esta bien entonces asumo q puede ser la M de mas
Salu2!!!!! y responde a ver si fue eso
hola ! no hay ninguna M de mas ... el mes es un String como enero. Para q la fecha pueda aceptar ese tipo de parametros tienes que poner 3 M que significa String.
El pattern como ya dices esta bien asi que no se cual es el problema
El pattern como ya dices esta bien asi que no se cual es el problema
Hola de nuevo!!!!!
Lei el JAVADOC de SimpleDateFormat y vi q tenes razon en cuanto a la triple M. La pregunta es si se banca poner 15/enero/2005 o algo asi. En los ejemplos q ponen no esta tu caso especifico, pero proba pasandole otras cosas a ver como anda.
Salu2!!! y perdon por la equivocacion
Lei el JAVADOC de SimpleDateFormat y vi q tenes razon en cuanto a la triple M. La pregunta es si se banca poner 15/enero/2005 o algo asi. En los ejemplos q ponen no esta tu caso especifico, pero proba pasandole otras cosas a ver como anda.
Salu2!!! y perdon por la equivocacion
Hola,...
El problema que tienes no es tal problema. Lo que ocurre es que estás imprimiendo un Date del paquete java.sql y no un Date del paquete java.util y cada uno tiene un formato por defecto optimizado para su función.
String fecha1 = "17-03-1998";
String patron = "dd-MM-yyyy";
java.util.Date f1 = sdf.parse(fecha1, new ParsePosition(0));
System.out.println("Date de util:"+f1);
System.out.println("Date de sql:"+new java.sql.Date(f1.getTime()));
Te devolverá lo siguiente...
Date de util: Tue Mar 17 00:00:00 CET 1998
Date de sql: 1998-03-17
Espero que te sirva. Un saludo.
El problema que tienes no es tal problema. Lo que ocurre es que estás imprimiendo un Date del paquete java.sql y no un Date del paquete java.util y cada uno tiene un formato por defecto optimizado para su función.
String fecha1 = "17-03-1998";
String patron = "dd-MM-yyyy";
java.util.Date f1 = sdf.parse(fecha1, new ParsePosition(0));
System.out.println("Date de util:"+f1);
System.out.println("Date de sql:"+new java.sql.Date(f1.getTime()));
Te devolverá lo siguiente...
Date de util: Tue Mar 17 00:00:00 CET 1998
Date de sql: 1998-03-17
Espero que te sirva. Un saludo.
