PHP - Formato de fecha y hora

 
Vista:

Formato de fecha y hora

Publicado por castrini (2 intervenciones) el 03/04/2008 19:26:05
Tengo el siguiente php como libro de visitas de una página, me funciona bien, sólo me estoy rompiendo la cabeza a la hora de presentar la fecha en pantalla.
Se presenta de la forma "año-mes-día hora", la fecha está guardada en mysql bajo DATETIME, al rescatarla quiero presentarla como "día-mes-año hora", ¿sabrían ayudarme? Mil gracias...

<?
/
//conecta con la base de datos mysql
include("conexion.php");
if($accion=="firmar") {//si ha decidido firmar el libro....
if($enviar) {//si ha pulsado enviar.....
mysql_query("INSERT into visitas (EnviadoPor,Comentario,Email,Fecha) VALUES ('$EnviadoPor','$Comentario','$Email',NOW()-10000)") or die (mysql_error());
echo "Gracias por firmar nuestro libro de visitas.<br>";
echo "<a href="libro.php"><b>VOLVER AL LIBRO DE VISITAS</b></a><br>";
}
if(!$enviar) {//si todavía no ha pulsado enviar se muestra el formulario...
echo "<div align="center"><form method="POST" action="libro.php?accion=firmar">
<b>Enviado por:</b><br>
<input type="text" name="EnviadoPor" size="20"><br>
<b>Tu email:<br>
<input type="text" name="Email" size="20"><br>
Comentario:<br>
<textarea rows="5" name="Comentario" cols="50"></textarea></b><br>
<input type="submit" value="Enviar" name="enviar"></p>
</form></div>";
}
}
//Esta es la consulta para obtener las firmas desde la tabla mysql
if(!$accion) {
$consulta=mysql_query("SELECT EnviadoPor,Comentario,Email,Fecha from visitas order by IdVisita desc") or die (mysql_error());
$lineas=mysql_query("SELECT EnviadoPor,Comentario,Email,Fecha from visitas");
$total=mysql_num_rows($lineas);
echo "<center>";
echo "<a href="libro.php?accion=firmar"><b>Firma en el libro de visitas</b> ($total)</a><br>";
echo"</center>";
while($sql=mysql_fetch_array($consulta)) {
$mensaje=$sql[mensaje];
//A partir de aquí es la tabla que va a aperecer con todas las firmas
echo "
<table cellspacing="1" style="border-collapse: collapse; border-left: 2px solid #000099; border-right: 2px solid #000099; border-top: 1px solid #000099; border-bottom: 1px solid #000099" width="100%">
<tr>
<td width="70%"><b>Enviado por: </b>$sql[EnviadoPor]</b></a></td>
<td width="30%">$sql[Fecha]</td>
</tr>
<tr>
<td width="100%" colspan="2"><b>Email: </b>$sql[Email]<br><b>Comentario: </b>$sql[Comentario]</td>
</tr>
</table> ";
}
}
?>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Formato de fecha y hora

Publicado por Omar Yépez (224 intervenciones) el 03/04/2008 23:25:29
Hola castrini castrini -at- slotguaza -punto- com

Tan sencillo como pasarle el formato a la funcion DATE_FORMAT();

SELECT DATE_FORMAT(tu_campo,'%d-%m-%Y %H.%i.%s') FROM tu_tabla;

Espero que te sirva............
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Formato de fecha y hora

Publicado por castrini (2 intervenciones) el 04/04/2008 13:17:47
No hay manera, eso ya lo había intentado, lo he puesto como pongo más abajo, pero nada, en pantalla o no se ve o se ve con el formato de mysql...¿posible solución? Mil gracias...

//Esta es la consulta para obtener las firmas desde la tabla mysql
if(!$accion) {
$consulta=mysql_query("SELECT EnviadoPor,Comentario,Email,DATE_FORMAT(Fecha,'%d-%m-%Y %H.%i.%s'') from mi_tabla order by IdVisita desc") or die (mysql_error());
$lineas=mysql_query("SELECT EnviadoPor,Comentario,Email,Fecha from mi_tabla");
$total=mysql_num_rows($lineas);
echo "<center>";
echo "<a href="libro.php?accion=firmar"><b>Firma en el libro de visitas</b> ($total)</a><br>";
echo"</center>";
while($sql=mysql_fetch_array($consulta)) {
$mensaje=$sql[mensaje];
//A partir de aquí es la tabla que va a aperecer con todas las firmas
echo "
<table cellspacing="1" style="border-collapse: collapse; border-left: 2px solid #000099; border-right: 2px solid #000099; border-top: 1px solid #000099; border-bottom: 1px solid #000099" width="100%">
<tr>
<td width="70%"><b>Enviado por: </b>$sql[EnviadoPor]</b></a></td>
<td width="30%">$sql[Fecha]</td>
</tr>
<tr>
<td width="100%" colspan="2"><b>Email: </b>$sql[Email]<br><b>Comentario: </b>$sql[Comentario]</td>
</tr>
</table> ";
}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Formato de fecha y hora

Publicado por Susana (16 intervenciones) el 04/04/2008 14:03:05
A mi tampoco me funciona el date_format en mysql y te digo dos formas de solucionarlo:

Si la consulta te devuelve la fecha en formato timestamp,entonces al mostrar el registro pones

date("d-m-Y",$registro["tu fecha"])

y si el formato que te devuelve es del tipo año,mes,dia hay una funcion para convertir la fecha

function convierte_fecha($fecha)
{
$fechaC = split("-",$fecha);
return $fechaC[2] . "-" . $fechaC[1] . "-" . $fechaC[0];

}

y simplemente al mostrar el registro utilizas la funcion

convierte_fecha($registro["tu fecha"])

espero que te sirva ,a mi esto me funciona perfectamente
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Formato de fecha y hora

Publicado por Omar Yépez (224 intervenciones) el 04/04/2008 16:31:35
Deberia servirte si estas usando la ultima version de MySQL,.......

Pero lo que te propone Susana tambien te sirve. es un paso mas pero funciona.....

Saludos.........
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar