Foros del Web » Programación para mayores de 30 ;) » Java »

Voltear las fechas para mysql!!

Estas en el tema de Voltear las fechas para mysql!! en el foro de Java en Foros del Web. Hola!! Necesito saber si hay alguna manera de guardar la fecha en el formato de mysql, ya q el la guarda yyyy/mm/dd, en mi pantalla ...
  #1 (permalink)  
Antiguo 22/04/2006, 11:10
 
Fecha de Ingreso: enero-2006
Mensajes: 49
Antigüedad: 18 años, 3 meses
Puntos: 0
Voltear las fechas para mysql!!

Hola!! Necesito saber si hay alguna manera de guardar la fecha en el formato de mysql, ya q el la guarda yyyy/mm/dd, en mi pantalla el usuario introduce el texto en un jtextfield dd/mm/yyyy necesito voltearlo para guardarlo en mi base de datos pero no consigo como!!
Utilise el SimpleDateFormat pero para tomar la informacion de la base de datos y pasarlo a dd/mm/yyyy pero para hacerlo alreves no me deja ya que no he podio pasar el string a date.. Ya que el formatter.format(Date) usa date!!
en fin no se como voltear la fecha les agradeseria la ayuda. por fis de verdad es urgente
  #2 (permalink)  
Antiguo 22/04/2006, 12:25
 
Fecha de Ingreso: enero-2006
Mensajes: 49
Antigüedad: 18 años, 3 meses
Puntos: 0
Segun lei, hay una funcion que mepermite guardar directamente en la base de datos y esta funcion se encarga de voltera la fecha al formato mysql pero no la consigo use DBDate pero no me sirvio!! please ayudaaaaa
  #3 (permalink)  
Antiguo 22/04/2006, 21:51
Avatar de TolaWare
Colaborador
 
Fecha de Ingreso: julio-2005
Mensajes: 4.352
Antigüedad: 18 años, 10 meses
Puntos: 24
Puedes crear un objeto Date sin parametros, y luego le asignas, la fecha por partes.

Date fecha = new Date();
fecha.setDate(dia);
fecha.setMonth(mes);
fecha.setYear(anio);

dia, mes y anio son strings
Saludos
__________________
http://blog.tolaware.com.ar -> Blog de Java, Ruby y Linux
  #4 (permalink)  
Antiguo 23/04/2006, 07:07
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
SimpleDateFormat tambien tiene un metodo que se llama parse y que de un String te devuelve un Date...
  #5 (permalink)  
Antiguo 23/04/2006, 11:08
 
Fecha de Ingreso: enero-2006
Mensajes: 49
Antigüedad: 18 años, 3 meses
Puntos: 0
El problema es que yo necesito guardar la fecha q me da el usuario no la actual....trate de usar el simpledateformat y no me voltea la fecha me sale una fecha diferente a la introducida por el usuario

Código PHP:
 private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
    try{
      
String fech=String.valueOf(prueba.getText());
      
SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MM/dd"); // le doy el formato a la fecha
      
java.util.Date g=formatter.parse(fech);
      
System.out.println(g);
   
    }
    catch(
Exception e){System.out.println(e);} 


si introduzco 10/12/2006 me devuelve Thu May 28 00:00:00 VET 16 no se porque de verdad si consigues el error te lo agradeseria muchisimo!! ya no se que quitarle y q ponerle
  #6 (permalink)  
Antiguo 23/04/2006, 14:45
Avatar de TolaWare
Colaborador
 
Fecha de Ingreso: julio-2005
Mensajes: 4.352
Antigüedad: 18 años, 10 meses
Puntos: 24
En esta linea esta el problema:

Código:
SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MM/dd");
Si le ingresas como cadena el valor que especificaste arriba: "10/12/2006"
estas ingresando en el formatter la siguiente informacion:

yyyy = 10
MM = 12
dd = 2006

y al ingresar esto se guarda cualquier cosa.

Y cuando lo mandes a la BD, esta se encargara de convertirlo.

En la linea que te especifique mas arriba, tienes que cambiar el formato yyyy/MM/dd por el formato dd/MM/yyyy que es el que ingresa el usuario.
Mas o menos esa linea de codigo te quedaria asi:

Código:
SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
Si lo haces asi, al ingresar "10/12/2006" en el formatter la info se ingresaria bien.

dd = 10
MM = 12
yyyy = 2006
__________________
http://blog.tolaware.com.ar -> Blog de Java, Ruby y Linux
  #7 (permalink)  
Antiguo 23/04/2006, 16:40
 
Fecha de Ingreso: enero-2006
Mensajes: 49
Antigüedad: 18 años, 3 meses
Puntos: 0
Hola!! Intente lo que me dijistes y ahora me sale este error
java.text.ParseException: Unparseable date: "12 / 12 / 2006 "

Pero igual una pregunta si yo pongo a guardar mi fecha dd/MM/yyyy al momento de guardarla el la voltea?? como el formato de mysql yyyy/MM/dd
  #8 (permalink)  
Antiguo 23/04/2006, 16:58
Avatar de TolaWare
Colaborador
 
Fecha de Ingreso: julio-2005
Mensajes: 4.352
Antigüedad: 18 años, 10 meses
Puntos: 24
No sabria decirte, pero para asegurarte podrias crear una funcion que pase la fecha de un formato a otro y de esa manera no tendrias por que preocuparte por el formato de la fecha.
__________________
http://blog.tolaware.com.ar -> Blog de Java, Ruby y Linux
  #9 (permalink)  
Antiguo 23/04/2006, 17:36
 
Fecha de Ingreso: enero-2006
Mensajes: 49
Antigüedad: 18 años, 3 meses
Puntos: 0
Lo que no se es como tomar ese valor que mete el usuario y guardarlo en la base de datos porq si pongo directamente fecha.getText() no me guarda nada...
  #10 (permalink)  
Antiguo 24/04/2006, 00:45
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Como te dijo Tolaware, con el método parse no estas formateando la fecha si no leyéndola, así que debes poner el formato en el que el usuario te escribe la fecha en el campo de texto.

Si te da "Unparseable date" es por que la fecha esta mal escrita. Por ejemplo en el error que muestras tu le sobran espacios alrededor de las barras. Eso es un caso que hay que tratar por que siempre que hay introduccion de fechas a mano, existe la posibilidad de que la escriban mal. 34/13/2006, por ejemplo.

Despues cuando tengas un objeto Date, lo insertas en la BDD y ya lo guardara la BDD como le de la gana. Al recuperarlo obtendras un Date y puedes usar SimpleDateFormat para darle el formato que tu quieras y mostrárselo al usuario.

Tambien esta la posibilidad de usar un objeto tipo calendario para no tener que comprobar si la fecha es valida o no, ya que estos objetos solo te dejan introducir fechas válidas.

Por ejemplo: http://www.toedter.com/en/jcalendar/
  #11 (permalink)  
Antiguo 24/04/2006, 09:30
 
Fecha de Ingreso: enero-2006
Mensajes: 49
Antigüedad: 18 años, 3 meses
Puntos: 0
Bueno a la final anoche termine haciendo una funcion que me leyera la cadena e iba volteando la fecha ahi la guardo sin problemas, pero revisare lo que me dijistes para la proxima ya que me parece mas optimo por falta de tiempo ya este lo entregue asi ni modo!! Gracias por la ayuda
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:48.