Funciones MySQL para convertir timestamp a fecha

En el siguiente artículo comentaré cómo pasar la representación de una fecha en timestamp de unix a formato de tipo ‘YYYY-MM-DD HH:MM:SS’ mucho más legible y con el que podremos realizar consultas mas específicas.

En base de datos se suele guardar las fechas en formato timestamp pues contienen algo más de información que si por defecto formateamos y guardamos la fecha en formato ‘YYYY-MM-DD HH:MM:SS’ o ‘YYYY-MM-DD’. Para obtener el timestamp de una fecha en PHP usaremos la función time(), con la que obtendremos el timestamp de la fecha del momento en que se ejecuta.

La función de MySQL que realiza la conversión de timestamp a fecha es: FROM_UNIXTIME(unix_timestamp) en la que sólo se la pasa el timestamp y el formato que devuelve es el de por defecto: ‘YYYY-MM-DD HH:MM:SS’.

También se le puede especificar un formato para deveolver tan sólo lo que queramos FROM_UNIXTIME(unix_timestamp,format). Veamos algunos ejemplos:

Queremos tan sólo el año

select from_unixtime(fecha_creacion,'%Y') as fecha from table group by fecha

Resultado:

fecha
2012

Queremos el siguiente formato: mes. día.año

select from_unixtime(fecha_creacion,'%m.%d.%Y') as fecha from table group by fecha

Resultado:

fecha
07.06.2012
07.11.2012

Si esto mismo lo queremos poner en formato español con el mes en medio, tan sólo cambiaremos el especificador del mes(%m) de posición

select from_unixtime(fecha_creacion,'%d.%m.%Y') as fecha from table group by fecha

Resultado:

fecha
06.07.2012
11.07.2012

También podemos indicar un formato de fecha y con la hora separado por dos puntos “:”

select from_unixtime(fecha_creacion,'%Y-%m-%d %H:%i:%s') as fecha from table group by fecha

Resultado:

fecha
2012-07-06 08:12:50
2012-07-11 09:09:28

Para todo el que quiera hacer pruebas y obtener éstos mismos resultados los timestamps que he utilizado son los siguientes:  1341555170 y 1341990568

Tabla con todos los especificadores de formatos de Fecha

En la siguiente tabla se indican todos los formatos que se pueden asignar para tratar una fecha en timestamp

Especificador Descripción
%a Día de la semana abreviado (Sun..Sat)
%b Nombre del mes abreviado (Jan..Dec)
%c Mes en número (0..12)
%D Día del mes con el sufijo en inglés (0th, 1st, 2nd,3rd, …)
%d Día del mes en número (00..31)
%e Día del mes en número (0..31)
%f Microsegundos (000000..999999)
%H Hora (00..23)
%h Hora (01..12)
%I Hora (01..12)
%i Minutos (00..59)
%j Día del año (001..366)
%k Hora (0..23)
%l Hora (1..12)
%M Nombre del mes (January..December)
%m Número del mes (00..12)
%p AM or PM
%r Fecha, 12 horas (hh:mm:ss seguido de AM or PM)
%S Segundos (00..59)
%s Segundos (00..59)
%T Fecha, 24 horas (hh:mm:ss)
%U Semana (00..53), donde Domingo es el primer día de la semana
%u Semana (00..53), donde Lunes es el primer día de la semana
%V Semana (01..53), donde Domingo es el primer día de la semana; usado con %X
%v Semana (01..53), donde Lunes es el primer día de la semana; usado con %x
%W Nombre del día de la semana (Sunday..Saturday)
%w Día de la semana (0=Domingo..6=Sábado)
%X Año para la semana donde Domingo es el primer día de la semana, numérico de 4 dígitos; usado con %V
%x Año para la semana donde Lunes es el primer día de la semana, numérico de 4 dígitos; usado con %v
%Y Año, numérico de 4 dígitos
%y Año numérico de 2 dígitos
%% Carácter literal “%”
%x x, para cualquier “x” no mencionados anteriormente

Fuente:

http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_date-format

http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_from-unixtime

Herramienta útil: CONVERSOR ONLINE TIMESTAMP A FECHA

Tags de búsquedas:

workbench,workbench caracteristicas ventajas y desventajas,mysql funciones timestamp,mysql formato meses en español,mysql cambiar formato de fecha y actualizarlo,mysql,insertar solo mes y año en mysql,indicar la semana del mes según la fecha con php y mysql,guardar fecha timestamp,funciones para cambiar la fecha de mysql,funciones mysql 2012,funcion para convertir la fecha a español en workbench,funcion para convertir fecha en mysql,funcion mysql para timestamp,funcion en php para pasar los meses del año a español

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

¡Comparte este artículo! »

Hosting de este blog con: »

Y ahora, para todos mis lectores! 10$ para probar su cloud : www.digitalocean.com

  • LIS ASTURIAS (11 horas)
    QUE ALGUIEN ME EXPLIQUE PUEDO ACORTAR LOS URL Y VERLOS…
  • lis (11 horas)
    no se como crear un bloogg se cobra ayuda deseo…
  • lis (11 horas)
    http://sh.st/u3NLw
  • Antonio Sánchez (1 día)
    Hola Pedro, muchas gracias por tu artículo. Después de leerme…

Suscríbete al newsletter »

Proporciona tu correo electrónico a continuación y recibe las últimas noticias! Funciona con Feedburner de Google

Imágenes de noticias »

Archivo »

Leer entrada anterior
PHP-5_4_0
4 Medidas de Seguridad en PHP que debes tener en cuenta

Obviamente se pueden implementar muchas reglas y protocolos de seguridad en PHP, pero comentaré algunos que considero son muy simples...

Cerrar