Conversión de fechas entre MySQL y PHP usando UNIX_TIMESTAMP

Posted by – 2009-07-21

Pasar una fecha MySQL a PHP podría parecer sencillo (si no la vamos a formatear, es decir si nos conformamos con tenerla “cruda” en su formato yyyy-mm-dd hh:mm:ss) pero realmente no lo es, pues al querer formatearla (seleccionar otra forma de mostrar la fecha) nos encontramos con problemas.

Hasta ahora la mejor solución que encontré (en la web no pasó nada) fue la del maravilloso libro en inglés Wicked Cool PHP:
Wicked Cool PHP
(que altamente recomiendo).

En nuestra consulta SQL obtenemos el UNIX TIMESTAMP del campo fecha/fecha-hora, ejemplo:

SELECT unix_timestamp( `log_visit_datetime_begin` )
FROM `log_visits`
WHERE `log_visit_id` = 1834
LIMIT 0 , 30

Esta consulta nos devuelve el campo fecha de un registro formateado en Unix time:


unix_timestamp( `log_visit_datetime_begin` )
1216297118

que representa 2008-07-17 09:18:38 del campo de la tabla MySQL.

Luego, muy facilmente podremos manipular de la siguiente clásica forma:

<?php echo date("d/m/Y", 1216297118); // Esto devolverá 17/07/2008. ?>

4 Comments on Conversión de fechas entre MySQL y PHP usando UNIX_TIMESTAMP

Respond

  1. kovin says:

    También se puede convertir la fecha a timestamp con la función strtotime de php
    http://ar.php.net/manual/en/function.strtotime.php
    ;-)

  2. C. Jaacks says:

    Esa es buena también. :grin: ( :idea: Es la razonable, de hecho).
    Pero no me digas que la de MySQL/UNIX_TIMESTAMP no es más artística. ;-)

  3. Natán says:

    Muy bonito.
    Aunque lo que me interesa mas es el librazo; voy a ver si lo consigo en PDF.

    Offtopic: No me estaba llegando ninguna actualización RSS porque cambiaste la URL y ni me enteré!

  4. C. Jaacks says:

    Natán, sep, ese libro es flaco pero rendidor, lo recomiendo. Está en Pirate Bay en un compilado de manuales llamado “PHP and MySql ebook collection 2009“. :twisted:

    Si viste, mudé el site al / hace poco, conservé unos pocos posts viejos; pero con instalación de cero, cambié un poco el aire y minimalizé un poco más. Y de paso me deshize de posts que no quería seguir cargando, jaja.

Decí lo tuyo.

Respond

Comments

Comments