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

Formatear un tipo Date

Estas en el tema de Formatear un tipo Date en el foro de Java en Foros del Web. Hola. Mi consulta tiene un poco de sql server y de Java, espero no equivocarme al postearla aquí. Tengo declarada un tabla con campos tipo ...
  #1 (permalink)  
Antiguo 04/12/2009, 16:11
 
Fecha de Ingreso: marzo-2009
Mensajes: 34
Antigüedad: 15 años, 1 mes
Puntos: 0
Formatear un tipo Date

Hola.

Mi consulta tiene un poco de sql server y de Java, espero no equivocarme al postearla aquí.

Tengo declarada un tabla con campos tipo Datetime en sql server 2000.

Para leer dichos campos utilizo rs.getDate("nombreCampo"). En principio devuelve un tipo Date que luego quiero formatear para mostrarlo a mi manera. Se supone que en Java las funciones tipo getDay(), getMonth(), etc.. esta deprecated y sugieren el uso de Calendar, pero no veo como usar el Calendar.

Alguien sabe como formatear el objeto devuelvo por rs.getDate("nombreCampo").


Gracias
Salu2
  #2 (permalink)  
Antiguo 05/12/2009, 05:30
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: Formatear un tipo Date

Usando la clase java.text.SimpleDateFormat.

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
  #3 (permalink)  
Antiguo 05/12/2009, 14:07
Avatar de jcMouse  
Fecha de Ingreso: noviembre-2009
Ubicación: Bolivia
Mensajes: 116
Antigüedad: 14 años, 5 meses
Puntos: 9
Respuesta: Formatear un tipo Date

porque no usas cadenas

Código PHP:
/**
 * @web jc-mouse
 * @author mouse
 */
public class Main {
    
    public static 
void main(String[] args) {        
        
        
String fecha = new String("05/12/2009");
        
String dia =fecha.substring(02);
        
String mes =fecha.substring(35);
        
String anio =fecha.substring(610);        
        
System.out.println("dia: " dia " Mes: " +  mes " Año: " anio);
    }
    


te da como resultado:

dia: 05 Mes: 12 Año: 2009

asi puedes manipular independientemente los datos

  #4 (permalink)  
Antiguo 07/12/2009, 03:46
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: Formatear un tipo Date

Teniendo en cuenta que de lo que parte él es de un Date y no de una cadena, y de que el formato de un Date pasado a cadena directamente del Locale no es fijo... pues dudo mucho que ese sistema sirva excepto para entornos muy controlados y casos muy concretos.
Supongo que las clases DateFormat, SimpleDateFormat y demás las inventaron para algo .
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
  #5 (permalink)  
Antiguo 07/12/2009, 11:36
Avatar de FiruzzZ  
Fecha de Ingreso: diciembre-2007
Ubicación: en casa
Mensajes: 470
Antigüedad: 16 años, 4 meses
Puntos: 41
Respuesta: Formatear un tipo Date

Cita:
Iniciado por GreenEyed Ver Mensaje
Usando la clase java.text.SimpleDateFormat.

S!


mejor y mas claro imposible...

System.out.println(new SimpleDateFormat("dd/MM/yyyy").format(new Date()));
  #6 (permalink)  
Antiguo 08/12/2009, 06:01
 
Fecha de Ingreso: marzo-2009
Mensajes: 34
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Formatear un tipo Date

Hola.

Muchas gracias por contestar.

Utilizando el SimpleDateFormat obtengo la fecha como deseaba, por lo que esta parte ok.

Quizas al plantear la pregunta me falto indicar que necesito la hora,minutos y segudos.

Por ejemplo, utilizando una consulta de actualización para el campo que comentaba de tipo datetime como esta:

CONVERT(datetime, GETDATE(), 103)

me ingresa correctamente la fecha y la hora asi: "06/12/2009 19:08:33"

con lo que tengo la fecha y la hora (en formato 24 horas) correctamente insertada.

El SimpleDateFormat me devuelve la fecha correctamte. Pero si hago algo asi:

Date date = rs.getDate("FModificacion");
System.out.println(new SimpleDateFormat("mm").format(date));

tanto los minutos como los segundos son a cero.

No se, no debería ser tan complejo este asunto.

Alguna sugerencia.
Gracias
  #7 (permalink)  
Antiguo 08/12/2009, 08:07
Avatar de zaccarelliasbun  
Fecha de Ingreso: mayo-2009
Ubicación: Bolivia
Mensajes: 70
Antigüedad: 15 años
Puntos: 1
Respuesta: Formatear un tipo Date

utiliza TimeStamp

Date d = Calendar.getInstance();
TimeStamp tm = new TimeStamp( d.getTime());

y asi podes manipular tus horas, minutos y segudos.
espero que te sirva.

Saludos.
  #8 (permalink)  
Antiguo 08/12/2009, 10:41
 
Fecha de Ingreso: marzo-2009
Mensajes: 34
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Formatear un tipo Date

Hola.

Pero no veo como relacionar el tipo de datos que obtengo del recordset con TimeStamp.. o me equivoco.

Gracias
  #9 (permalink)  
Antiguo 08/12/2009, 14:59
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: Formatear un tipo Date

Date date = rs.getDate("FModificacion");
->
Timestamp date = rs.getTimestamp("FModificacion");

java.sql.Date sólo almacena la "fecha" (año, mes y día). Para horas y minutos hace falta java.sql.Timestamp.

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
  #10 (permalink)  
Antiguo 16/12/2009, 15:35
 
Fecha de Ingreso: marzo-2009
Mensajes: 34
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Formatear un tipo Date

Muchas gracias

He conseguido que funcione.

Salu2
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 19:42.