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

Formatear una fecha que proviene de Access

Estas en el tema de Formatear una fecha que proviene de Access en el foro de Java en Foros del Web. Hola a todos! Pues en Access tengo un campo de fecha: tipo de dato=>fecha/hora formato=>Hora Larga segun Access, no? Con un ResultSet capturo el valor ...
  #1 (permalink)  
Antiguo 02/07/2009, 14:52
 
Fecha de Ingreso: junio-2008
Ubicación: Capital Federal xD
Mensajes: 1.208
Antigüedad: 15 años, 10 meses
Puntos: 35
Formatear una fecha que proviene de Access

Hola a todos!
Pues en Access tengo un campo de fecha:
tipo de dato=>fecha/hora
formato=>Hora Larga
segun Access, no?

Con un ResultSet capturo el valor
Código PHP:
rs.GetString("fecha"); 
Y luego lo muestro en pantalla con un out.println(xxx);
Pero me muestra algo asi:
Código PHP:
1899-12-31 18:20:15 
Siendo el valor del campo en Access '18:20:15'
Como todavia no tuve respuestas del DBA encargado del Access,
supongo que debo mostrar la hora por pantalla.
(tambien me queda la duda porque no existe una fecha en el campo ademas de la hora...)

Pero supongamos que solo quiero mostrar la hora ¿como la formateo para mostrarla asi?
06:20:15pm
Sé que existen varias clases para las fechas, cual me aconsejan y si pueden cual método??
Graciassss!!!!!
__________________
I am Doyle please insert code.
  #2 (permalink)  
Antiguo 03/07/2009, 02:08
 
Fecha de Ingreso: mayo-2009
Mensajes: 169
Antigüedad: 15 años
Puntos: 3
Respuesta: Formatear una fecha que proviene de Access

Pues yo usaría Stringtokenizer para separar hora y fecha:

StringTokenizer st = new StringTokenizer("1899-12-31 18:20:15 ");
while (st.hasMoreTokens()) {
System.out.println(st.nextToken());
}

Daría esto:
1899-12-31
18:20:15

Luego lo usaría de nuevo para separar horas minutos y segundos:

StringTokenizer st = new StringTokenizer("18:20:15 ", ":");
while (st.hasMoreTokens()) {
System.out.println(st.nextToken());
}

Daría esto:
18
20
15

Tú en vez de imprimirlo por pantalla puedes guardarlo en variables.
Para pasar las horas a formato pm/am: comprueba si la hora es mayor de que 12, si es así le pones el pm y le haces el módulo de 12. Si es que no, pues le pones el am.

Para darle formato a la fecha puedes usar SimpleDateFormat como se explica aquí.
Saludos.
  #3 (permalink)  
Antiguo 03/07/2009, 11:13
 
Fecha de Ingreso: junio-2008
Ubicación: Capital Federal xD
Mensajes: 1.208
Antigüedad: 15 años, 10 meses
Puntos: 35
Respuesta: Formatear una fecha que proviene de Access

Muy buena data,

lo probaré este fin de semana.
Gracias!!
__________________
I am Doyle please insert code.
  #4 (permalink)  
Antiguo 05/07/2009, 11:22
Avatar de ezefarina  
Fecha de Ingreso: junio-2009
Mensajes: 91
Antigüedad: 14 años, 10 meses
Puntos: 2
Respuesta: Formatear una fecha que proviene de Access

En mi opinion deberías usar SimpleDateFormat... Es practicamente un estándar en conversión de fechas ;)
  #5 (permalink)  
Antiguo 13/07/2009, 02:14
 
Fecha de Ingreso: mayo-2009
Mensajes: 169
Antigüedad: 15 años
Puntos: 3
Respuesta: Formatear una fecha que proviene de Access

Sí ezefarina, pero primero tiene que "capturar" las horas, minutos y segundos. A mí no se me ocurre otra forma que la que he dicho antes.
  #6 (permalink)  
Antiguo 13/07/2009, 04:47
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: Formatear una fecha que proviene de Access

SimpleDateFormat sirve tanto para capturar fechas que estan en forma de String como para formatear fechas hacia un String, así que lo que dice ezefarina también serviría para este caso.

Y puestos a partir cadenas, mejor usar String.split que un StringTokenizer, puesto que este último esta "deprecated".

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
  #7 (permalink)  
Antiguo 14/07/2009, 02:12
 
Fecha de Ingreso: mayo-2009
Mensajes: 169
Antigüedad: 15 años
Puntos: 3
Respuesta: Formatear una fecha que proviene de Access

Hola GreenEyed.
Me parece interesante lo que dices. Pero, podías dar un pequeño ejemplo de como captura las fechas SimpleDateFormat, así nos sería un poco más gráfico a los demás.
Saludos.
  #8 (permalink)  
Antiguo 14/07/2009, 02:15
 
Fecha de Ingreso: mayo-2009
Mensajes: 169
Antigüedad: 15 años
Puntos: 3
Respuesta: Formatear una fecha que proviene de Access

Bueno ya encontré un ejemplo:

Código PHP:
import java.text.SimpleDateFormat;
...
JTextField textField = new JTextField();
...
SimpleDateFormat formateador = new SimpleDateFormat("dd/MM/yyyy");
try
{
   
Date fecha formateador.parse(textField.getText());
}
catch (
ParseException e)
{
   
// Error, la cadena de texto no se puede convertir en fecha.

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 03:48.