Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Obtener cada parte de un DATETIME

Estas en el tema de Obtener cada parte de un DATETIME en el foro de Mysql en Foros del Web. Buen día. Necesito obtener por separado la hora, dia, mes y año. Estoy haciendo la siguiente consulta: Código PHP: SELECT TIME ( FECHAHORA ),  DAY ( ...
  #1 (permalink)  
Antiguo 07/07/2012, 20:57
 
Fecha de Ingreso: junio-2012
Mensajes: 35
Antigüedad: 12 años, 5 meses
Puntos: 4
Pregunta Obtener cada parte de un DATETIME

Buen día.

Necesito obtener por separado la hora, dia, mes y año. Estoy haciendo la siguiente consulta:

Código PHP:
SELECT TIME(FECHAHORA), DAY(FECHAHORA), MONTH(FECHAHORA), YEAR(FECHAHORAFROM `".MYSQLnombreDB."`. Tabla WHERE `ID` ='$Id'"; 
Obtengo un array con los datos por separado, solo que en el día y mes me quita el cero a la izquierda. Por ejemplo: si el mes es 07 solo me pone el 7. Como puedo hacer para que me lo ponga completo?

No se si esa consulta sea lo mejor pero es lo que me vino a la mente en estos momentos. Gracias.
  #2 (permalink)  
Antiguo 08/07/2012, 03:33
 
Fecha de Ingreso: junio-2011
Mensajes: 139
Antigüedad: 13 años, 5 meses
Puntos: 42
Respuesta: Obtener cada parte de un DATETIME

Hola theroutermatic,

Recuerda que la función DAY() retorna un número (numeric), lo que necesitas es retornar una cadena (string), así que puedes aplicar la función LPAD() tanto para el día como para el mes.

Código PHP:
Ver original
  1. SELECT TIME(FECHAHORA), LPAD(DAY(FECHAHORA), 2, '0'), LPAD(MONTH(FECHAHORA), 2, '0'), YEAR(FECHAHORA) FROM `".MYSQLnombreDB."`. Tabla WHERE `ID` ='$Id'";

Ahora tanto el día como el mes se retornarán como cadenas (strings).
  #3 (permalink)  
Antiguo 08/07/2012, 07:23
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Obtener cada parte de un DATETIME

Me queda una duda: ¿Para qué vas a usar los datos por separado?
Y otra: ¿Si lo usas en programación, no sería más sencillo usar funciones propias del lenguaje?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 08/07/2012, 22:10
 
Fecha de Ingreso: junio-2012
Mensajes: 35
Antigüedad: 12 años, 5 meses
Puntos: 4
De acuerdo Respuesta: Obtener cada parte de un DATETIME

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Me queda una duda: ¿Para qué vas a usar los datos por separado?
Y otra: ¿Si lo usas en programación, no sería más sencillo usar funciones propias del lenguaje?
Hola! Gracias por responder. Los uso por separado por que el objetivo es colocarlos en un PDF en donde por ejemplo tienen que colocarse:

Este documento fue escrito a las HH:MM:SS del dia DAY de MONTH de YEAR.

Se que puedo obtener fecha y hora completo y mediante PHP separarlos, pero por ahí leí que era mejor traerlos por separado mediante MYSQL para que fuera "mas limpio". Pero igual no me queda claro por que una u otra forma es mejor. No se si me podrias explicar algo sobre eso. Gracias.

Etiquetas: cada, datetime, parte, select, sql, tabla
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 15:49.