Convirtiendo Date a String / String a Date
Podemos convertir un objeto fecha a String de varias maneras. Cada manera es un tipo de formato establecido por el JVM instalado en nuestro computador. Consideremos este ejemplo:
En mi caso, el resultado es:
Notemos el resultado del formato obtenido por
De la misma manera podemos convertir de
Date d1 = new Date();
DateFormat[] dfa = new DateFormat[6];
dfa[0] = DateFormat.getInstance();
dfa[1] = DateFormat.getDateInstance();
dfa[2] = DateFormat.getDateInstance(DateFormat.SHORT);
dfa[3] = DateFormat.getDateInstance(DateFormat.MEDIUM);
dfa[4] = DateFormat.getDateInstance(DateFormat.LONG);
dfa[5] = DateFormat.getDateInstance(DateFormat.FULL);
for (DateFormat df : dfa) {
System.out.println(df.format(d1));
}
En mi caso, el resultado es:
09/02/09 10:29 AM
09/02/2009
09/02/09
09/02/2009
9 de febrero de 2009
lunes 9 de febrero de 2009
Notemos el resultado del formato obtenido por
DateFormat.getInstance()
. Es toda la fecha en formato corto, además de la hora. Mientras que si obtenemos el formato con DateFormat.getDateInstance()
la fecha se muestra en formato medio (Podemos consultar la configuración del sistema operativo referido al formato de fechas). También podemos ver los demás formatos: SHORT, MEDIUM, LARGE y FULL.De la misma manera podemos convertir de
String
a objeto java.util.Date
. Aquí muestro las diferentes maneras, de diferentes cadenas:
DateFormat df = DateFormat.getDateInstance();
Date d = df.parse("09/02/2009");
DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT);
Date d = df.parse("09/02/09");
DateFormat df = DateFormat.getDateInstance(DateFormat.MEDIUM);
Date d = df.parse("09/02/09");
DateFormat df = DateFormat.getDateInstance(DateFormat.LONG);
Date d = df.parse("9 de febrero de 2009");
DateFormat df = DateFormat.getDateInstance(DateFormat.FULL);
Date d = df.parse("lunes 9 de febrero de 2009");
Hola, antes que nada MUCHISIMAS GRACIAS! Estuve buscando una solución a esto desde ayer y no encontraba nada asi de simple que funcione tan bien. Gracias.
ردحذفEl unico comentario para agregar sería que el IDE (NetBeans) me sugirio que lo envuelva en una sentencia try/catch, por lo que empleé el primer ejemplo:
DateFormat df = DateFormat.getDateInstance();
Date d = df.parse("09/02/2009");
Que me quedó:
DateFormat df2 = DateFormat.getDateInstance();
try {
Date fechaNac = df2.parse(request.getParameter("02/08/2008"));
emp.setFechaNacim(fechaNac);
} catch (ParseException ex) {
Logger.getLogger(AdminController.class.getName()).log(Level.SEVERE, null, ex);
}
Saludos desde Argentina y funciona a la perfección!
Pues que bueno que te haya ayudado.
حذفPues sí, ese try/catch lo omití porque quería centrar la atención en la conversión de la cadena en sí.
Saludos desde Perú
como puedo solucionar esto...
ردحذفpublic void InsertarVentas(VentaVO ve) {
try {
pst = ConnexionSQL.coneccionbdSQL().prepareStatement("insert into ventas values (?,?,?,?,?,?)");
pst.setDate(1, ve.getFechaPedido());------------errrorrrr-------
pst.setInt(2, ve.getNumPedido());
pst.setInt(3, ve.getNumVenta());
pst.setInt(4, ve.getNumComida());
pst.setInt(5, ve.getUnidadesComida());
pst.setDouble(6, ve.getValorVenta());
int aux = pst.executeUpdate();
if (aux != 1) {
throw new SQLException("Error...al insertar Venta..");
} else {
JOptionPane.showMessageDialog(null, "Insercion correcto!!");
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e.getMessage());
}
}
es error en compilacion o ejecucion?
حذفPor favor, como dice en el mensaje.. estas preguntas hacerlas en los foros de Google Groups. Gracias