Problema con strftime y datetime
3 seguidores
Buenas, una vz más necesito ayuda.
desde php guardo en una base de datos mysql $fecha = NOW() en un campo de la base seteado como datetime.
cuando hago la consulta al row fecha lo quiero pasar a un formato diferente:
<code>strftime("%d/%m/%Y a las %H:%M",$row[fecha])</code>
la hora se ve correctamente, pero la fecha se va a cualquier época:
31/12/1969 a las 21:33
¿existe una forma de pasar un valor datetime a este formato correctamente, o es preferible guardar la fecha desde un principio bajo ese formato en un campo que no sea detetime?
(antes de preguntar acá, busqué mucho en google, y en este mismo foro pero no tuve éxito)
Muchísimas gracias.
keredero
No te das una idea cómo te quiero...
posta que lo vengo buscando hace muchos días.
Muchísimas gracias.
dagi3d
si miras la documentación de la función strftime, verás que el tema es que hay que pasarle la fecha como si fuera un timestamp(es decir, el número de segundos transcurridos desde 1970)
para obtenerlos puedes probar a llamar a la funcioń strtotime y a continuación ya la formateas como quieras;
<code>
$timestamp = strtotime ($row['fecha']);
$fecha = strftime("%d/%m/%Y a las %H:%M", $timestamp);
</code>
y si usas php5, puedes probar directamente con la clase DateTime:
<code>
$date = new DateTime($row['fecha']);
$date->format('d/m/Y');
</code>
cbp
no controlo mucho de este tema, lo único que se me ocurre es que el setlocale esté fastidiando la fecha, pero no sé si el error estará en el php o en mysql