Foros del Web » Programando para Internet » PHP »

Convertir fecha númerica de mysql en otro formato

Estas en el tema de Convertir fecha númerica de mysql en otro formato en el foro de PHP en Foros del Web. Hola Estoy con el programa cutenews y me guarda la fecha en mysql en un valor int(11), la fecha es un número, me gustaría que ...
  #1 (permalink)  
Antiguo 27/03/2010, 10:32
 
Fecha de Ingreso: noviembre-2005
Mensajes: 186
Antigüedad: 18 años, 5 meses
Puntos: 1
Sonrisa Convertir fecha númerica de mysql en otro formato

Hola

Estoy con el programa cutenews y me guarda la fecha en mysql en un valor int(11), la fecha es un número, me gustaría que cuádno la recupero con php, que tenga un formato de este tipo. 15 abril 2010.

Saludos
  #2 (permalink)  
Antiguo 27/03/2010, 11:18
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Convertir fecha númerica de mysql en otro formato

Para ello debes usar strtotime con strftime. Busca en el foro que hay varios ejemplos para poder hacerlo.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 27/03/2010, 11:57
Avatar de morior  
Fecha de Ingreso: agosto-2009
Ubicación: Barcelona
Mensajes: 437
Antigüedad: 14 años, 8 meses
Puntos: 12
Respuesta: Convertir fecha númerica de mysql en otro formato

O puedes usar la función date para ponerle el formato que quieras:

Código PHP:
date("Formato"$fecha); 
Mira aquí tienes lo que hay que poner en la parte de formato para que te salga algo:

http://php.net/manual/en/function.date.php

Por ejemplo si pones:

echo date("d/m/Y",$fecha);


Te saldrá algo al estilo 21/03/2010
__________________
Juego de navegador online
  #4 (permalink)  
Antiguo 31/03/2010, 01:55
 
Fecha de Ingreso: noviembre-2005
Mensajes: 186
Antigüedad: 18 años, 5 meses
Puntos: 1
Respuesta: Convertir fecha númerica de mysql en otro formato

Hola

Al final he utilizado esto:

Código PHP:
$fecha date("d F  Y",$datos["fecha"]); 
El caso es que me sale la fecha así: 14 March 2010, que es como quiero salvo que el mes preferiría que saliera en español. Ya cambiarlo de inglés a español es fácil, un array con los meses en inglés, otro con los meses en español, si encuentra el mes en inglés, cambiarlo por la misma posición del array en español.

Pero por casualidad hay alguna forma de que salga directamente en español.

Ahora estoy trabajando en local, con xampp, windows XP con español de España. Aunque ya es menos importante este asunto, siempre es bueno adquirir nuevos conocimientos.

Saludos
  #5 (permalink)  
Antiguo 31/03/2010, 02:33
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: Convertir fecha númerica de mysql en otro formato

En vez de date, usa http://es2.php.net/manual/en/function.setlocale.php y luego http://es2.php.net/manual/en/function.strftime.php (esta ultima es lo mismo q date, pero usando el locale (lenguaje!) puesto en setlocale! )

Espero que te sirva

Ejemplo:
Código PHP:

setlocale
(LC_TIME"es_ES");
echo 
strftime($format$fecha); 
  #6 (permalink)  
Antiguo 31/03/2010, 03:04
 
Fecha de Ingreso: noviembre-2005
Mensajes: 186
Antigüedad: 18 años, 5 meses
Puntos: 1
Respuesta: Convertir fecha númerica de mysql en otro formato

No funciona, la fecha sale en inglés.

Mirando la web de php he puesto esto:

Código PHP:
setlocale(LC_TIME'es_ES');                        
$fecha iconv('ISO-8859-1''UTF-8'strftime('%A %d %B %Y',$datos["fecha"])); 
también he puesto esto:

Código PHP:
setlocale(LC_TIME'es_ES');                        
$fecha strftime('%A %d %B %Y',$datos["fecha"]); 
pero el resultado es el mismo, fecha en inglés.
  #7 (permalink)  
Antiguo 31/03/2010, 03:34
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: Convertir fecha númerica de mysql en otro formato

y si pones este locale?

Código PHP:
set_locale(LC_ALL,"es_ES@euro","es_ES","esp"); 
  #8 (permalink)  
Antiguo 31/03/2010, 07:32
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Convertir fecha númerica de mysql en otro formato

Debe ser algo asi
Código PHP:
Ver original
  1. <?php
  2. setlocale(LC_ALL,"es_ES@euro","es_ES","esp");
  3. $d = "2010-03-03";
  4. $fecha = strftime("%d de %B de %Y", strtotime($d));
  5. echo $fecha;
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #9 (permalink)  
Antiguo 31/03/2010, 09:24
 
Fecha de Ingreso: noviembre-2005
Mensajes: 186
Antigüedad: 18 años, 5 meses
Puntos: 1
Respuesta: Convertir fecha númerica de mysql en otro formato

finalmente con el setlocale que han puesto Eleazan y abimaelrc si sale en español, el problema es que si pongo %d si sale el día con un cero delante si es un sólo digito, pero si pongo %e, que es lo que he leído en la página de php, no sale nada.

Código PHP:
// No sale el día
$fecha strftime('%A %e %B %Y',$datos["fecha"]);

//sale el día con un cero delante si es menor que 10
$fecha strftime('%A %d %B %Y',$datos["fecha"]); 

Etiquetas: formato, mysql, fechas
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 10:31.