Foros del Web » Programando para Internet » PHP »

Formatear fechas

Estas en el tema de Formatear fechas en el foro de PHP en Foros del Web. Cuando yo inserto una fecha en mysql la inserto con Código PHP: now ()  y se inserta de esta forma: Código: Año-Mes-Dia Hora:Minuto:Segundo Entonces al ...
  #1 (permalink)  
Antiguo 02/06/2008, 05:46
 
Fecha de Ingreso: marzo-2008
Mensajes: 96
Antigüedad: 16 años, 8 meses
Puntos: 0
Formatear fechas

Cuando yo inserto una fecha en mysql la inserto con
Código PHP:
now() 
y se inserta de esta forma:
Código:
Año-Mes-Dia Hora:Minuto:Segundo
Entonces al sacarla para el día de hoy sería: 2008-06-02 13:47:00

Cómo puedo hacer para que, una vez consultada la fecha pueda formatearla para que salga: Día-Mes-Año Hora:Minuto:Segundo?

Un saludo y gracias ;)
  #2 (permalink)  
Antiguo 02/06/2008, 06:18
 
Fecha de Ingreso: abril-2008
Ubicación: Aquí y Allá
Mensajes: 88
Antigüedad: 16 años, 7 meses
Puntos: 3
Respuesta: Formatear fechas

Hola Sancas,

En PHP tienes la funcion Date(formato, fecha)
http://es2.php.net/manual/es/function.date.php

... Pero si quieres hacerlo desde el select puedes usar la función DATE_FORMAT, entre otras ...

En esta página tienes un montón de funciones de fecha/hora:
http://mysql.conclase.net/curso/index.php?cap=011a

Espero que te sirva, cualquier cosa sigue preguntando.
  #3 (permalink)  
Antiguo 02/06/2008, 09:19
 
Fecha de Ingreso: marzo-2008
Mensajes: 96
Antigüedad: 16 años, 8 meses
Puntos: 0
Respuesta: Formatear fechas

Hola, gracias por responder, pero date_format() me está vacilando xD

He puesto este código:
Código PHP:
echo "(Publicado ".DATE_FORMAT($row["Fecha"],'%d %m %Y %H %i %S').")<br>"
Para que me sacara: Publicado dia-mes-años hora:minuto:segundo

Pero me da este error:
Warning: date_format() expects parameter 1 to be DateTime, string given in /homepages/27/d229793837/htdocs/index.php on line 50

Al parecer le paso una cadena donde debe ser fecha, pero si uso
Código PHP:
$fecha=strtotime($row["Fecha"]);
$fecha=DATE_FORMAT($fecha,'%d %m %Y %H %i %S');
echo 
"(Publicado ".$fecha.")<br>"
me dice que le estoy pasando un integer...

Alguien es conocedor de la respuesta de aquesta incógnita? XD
  #4 (permalink)  
Antiguo 02/06/2008, 15:33
 
Fecha de Ingreso: marzo-2008
Mensajes: 96
Antigüedad: 16 años, 8 meses
Puntos: 0
Respuesta: Formatear fechas

En el post anterior puse que la clase strtotime() me devolvía integer, no debería devolver datetime?

Bueno, aunque también necesito que se me responda a la pregunta en general ;)

Un saludo y gracias.
  #5 (permalink)  
Antiguo 02/06/2008, 16:08
 
Fecha de Ingreso: junio-2008
Ubicación: Valencia (España)
Mensajes: 45
Antigüedad: 16 años, 5 meses
Puntos: 1
Respuesta: Formatear fechas

Hola Sancas

Yo utilizo esto:


<?php

function formato($fecha)
{

//Año-Mes-Dia Hora:Minuto:Segundo

$f=explode("-",$fecha);//explode me divide fecha en Año, Mes y Dia Hora:Minuto:Segundo donde Año es el indice 0, Mes el indice 1 y Dia Hora:Minuto:Segundo el indice 2

$dia=explode(" ",$f[2]);//Obtengo Dia y Hora:Minuto:Segundo donde Dia es indice 0 y Hora:Minuto:Segundo el indice 2
$fecha=$dia[0]."/".$f[1]."/".$f[0]." ".$dia[1];

echo "<span>".$fecha."</span>";
}
?>

Espero que te sirva

Un saludo
  #6 (permalink)  
Antiguo 02/06/2008, 16:21
 
Fecha de Ingreso: marzo-2008
Mensajes: 96
Antigüedad: 16 años, 8 meses
Puntos: 0
Respuesta: Formatear fechas

Cita:
Iniciado por josofol Ver Mensaje
Hola Sancas

Yo utilizo esto:


<?php

function formato($fecha)
{

//Año-Mes-Dia Hora:Minuto:Segundo

$f=explode("-",$fecha);//explode me divide fecha en Año, Mes y Dia Hora:Minuto:Segundo donde Año es el indice 0, Mes el indice 1 y Dia Hora:Minuto:Segundo el indice 2

$dia=explode(" ",$f[2]);//Obtengo Dia y Hora:Minuto:Segundo donde Dia es indice 0 y Hora:Minuto:Segundo el indice 2
$fecha=$dia[0]."/".$f[1]."/".$f[0]." ".$dia[1];

echo "<span>".$fecha."</span>";
}
?>

Espero que te sirva

Un saludo
Interesante método.
Entonces de la manera en que tú dices sale el formato que yo quiero, no? Dia-Mes-Año Hora:Minuto:Segundo

Mañana lo pruebo, lo bueno es que con ese método se puede poner:
echo"Publicado el día ".$dia[0]."/".$f[1]."/".$f[0]." a las ".$dia[1];

Eres bueno xD
Gracias por la función ;)
Mañana narraré mis aventuras xD

Edito:
No podía esperar y ya lo he probado, con el formato que he puesto unas líneas más arriba y queda bien bonito.
Muchas gracias!!

P.D: Podeis cerrar si es que se suelen cerrar los posts...

Última edición por Sancas; 02/06/2008 a las 16:32
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 14:43.