Foros del Web » Programando para Internet » PHP »

¿Cómo dar formato a un DateTime?

Estas en el tema de ¿Cómo dar formato a un DateTime? en el foro de PHP en Foros del Web. Hola, un favor si me pueden ayudar para que salga impresa la fecha en formato (dd-mm-yyyy hh:mm:ss) ya que ahora se muestra en (yyyy-mm-dd hh:mm:ss) ...
  #1 (permalink)  
Antiguo 21/01/2007, 22:11
 
Fecha de Ingreso: enero-2007
Mensajes: 11
Antigüedad: 17 años, 3 meses
Puntos: 0
Pregunta ¿Cómo dar formato a un DateTime?

Hola, un favor si me pueden ayudar para que salga impresa la fecha en formato (dd-mm-yyyy hh:mm:ss) ya que ahora se muestra en (yyyy-mm-dd hh:mm:ss) siendo al parecer el predetminado en MySQL


Código PHP:

$consulta  
"SELECT * FROM tabla";
$resultado mysql_query($consulta) or die('No se pudo conectar la tabla seleccionada... ' mysql_error());

while (
$linea mysql_fetch_array($resultadoMYSQL_BOTH)) {

  
//Se saca el Array en variales
  
$titulo "".$linea[0]."";
  
$cuerpo "".$linea[1]."";
   
$fecha "".$linea[2]."";
      
$id "".$linea[3]."";
  
//se imprimen los resultados
echo "<h2>$titulo</h2>";
echo 
nl2br("<p>$cuerpo</p>");
echo 
"<h5>$id</h5>";
echo 
"<h4>$fecha</h4>"
Y lo que necesito es sacar impresa la "$fecha" en el formato dicho, como pude ser?

Saludos
  #2 (permalink)  
Antiguo 21/01/2007, 23:09
Avatar de Nefertiter  
Fecha de Ingreso: enero-2003
Ubicación: Rosario
Mensajes: 1.316
Antigüedad: 21 años, 3 meses
Puntos: 9
Re: ¿Cómo dar formato a un DateTime?

proba con
Código PHP:
$consulta  "SELECT id, titulo,cuerpo,  DATE_FORMAT(fecha,'%d-%m-%y %h:$i:%s') AS fecha FROM tabla"
  #3 (permalink)  
Antiguo 23/01/2007, 15:10
 
Fecha de Ingreso: enero-2007
Mensajes: 11
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: ¿Cómo dar formato a un DateTime?

OK
Muchas gracias, intentándolo como dices si funciona, pero eso es darle formato dentro de la consulta realizada a MySQL no es lo que busco. Intendo hacerlo con la variable de $fecha.

Sin modificar la consulta, va pues, no por que no se pueda en la consulta si no que me gustaría saber de la manera como busco.

He estado probando con lo ya puesto en el manual de PHP de date() y sus variantes, pero no logro conseguirlo.
  #4 (permalink)  
Antiguo 23/01/2007, 15:28
 
Fecha de Ingreso: enero-2007
Mensajes: 11
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: ¿Cómo dar formato a un DateTime?

Ops!

es mas fácil de lo que creía:

Código PHP:
$mostrar date("l dS \of F Y h:i:s A'"$fecha); 
Solucionado, Gracias
  #5 (permalink)  
Antiguo 23/01/2007, 15:29
Avatar de jmn2k1  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires...
Mensajes: 489
Antigüedad: 22 años, 5 meses
Puntos: 2
Re: ¿Cómo dar formato a un DateTime?

Podrias pasar la cadena por strtotime que es una funcion que toma cadenas con algunos formatos especificos y devuelve el timestamp correspondiente, luego podrias usar la funcion date para darle formato.
Podes buscar la informacion sobre esas funciones en el manual de php:
http://www.php.net/strtotime
http://www.php.net/date

Ahora como deberias darte cuenta, estas transformando la fecha de tu base de datos en una cadena, para luego transformarla en una fecha (el timestamp) para luego de nuevo transformarla en una cadena.
Por esa simple razon se usa la base de datos para transformar la fecha en una cadena una sola vez...
__________________
JmN

Última edición por jmn2k1; 23/01/2007 a las 15:37
  #6 (permalink)  
Antiguo 23/01/2007, 15:36
Avatar de jmn2k1  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires...
Mensajes: 489
Antigüedad: 22 años, 5 meses
Puntos: 2
Re: ¿Cómo dar formato a un DateTime?

Cita:
Ops!

es mas fácil de lo que creía:

Código PHP:
$mostrar = date("l dS \of F Y h:i:s A'", $fecha);
Solucionado, Gracias
Otra cosa:
Revisa bien las fechas que esta devolviendo, date recibe como segundo argumento un timestamp ("marca_de_tiempo") si le pasas una cadena devuelve un notice y, segun las pruebas que hice para confirmar, la fecha cambiada.
__________________
JmN

Última edición por jmn2k1; 23/01/2007 a las 15:47
  #7 (permalink)  
Antiguo 23/01/2007, 15:36
 
Fecha de Ingreso: enero-2007
Mensajes: 11
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: ¿Cómo dar formato a un DateTime?

Corrección: Aun no esta solucionado...
Otro Ops! ja...

Déjame probar lo que mencionas y luego cuento...
  #8 (permalink)  
Antiguo 23/01/2007, 15:49
 
Fecha de Ingreso: enero-2007
Mensajes: 11
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: ¿Cómo dar formato a un DateTime?

Ya esta:
Código PHP:
$transf strtotime($fecha);    
  
$mostrar date("l dS \of F Y h:i:s A'"$transf); 
Gracias.
  #9 (permalink)  
Antiguo 23/01/2007, 15:53
Avatar de jmn2k1  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires...
Mensajes: 489
Antigüedad: 22 años, 5 meses
Puntos: 2
Re: ¿Cómo dar formato a un DateTime?

Cita:
Iniciado por Vadim Ver Mensaje
Ya esta:
Código PHP:
$transf strtotime($fecha);    
  
$mostrar date("l dS \of F Y h:i:s A'"$transf); 
Gracias.
Bien, fue exactamente lo que te dije que podías hacer para que funcione.

Pero también fue lo que (sutilmente?) trate de decirte que no hagas...

Cita:
Iniciado por jmn2k1
Ahora como deberias darte cuenta, estas transformando la fecha de tu base de datos en una cadena, para luego transformarla en una fecha (el timestamp) para luego de nuevo transformarla en una cadena.
__________________
JmN
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 17:25.