¿Estas atascado? ¡Yo te ayudo!, pregunta aquí.

Mostrar fechas en español en PHP

Todo código relacionado exclusivamente con PHP, incluido la programación con symphony, etc...

Notapor alexiter » Sab Nov 16, 2019 11:19 am

A veces nos encontramos en la necesidad de mostrar las fechas en español, como es el nombre del mes o el nombre del día. Podemos complicarnos creando arrays con los nombres de los dias en español y lo mismo con los meses, y despues mediante codigo asociar el dia y el mes dentro de ese array para mostrarlo en español, pero resulta infinitamente mas facil usar el comando " setlocale()" de php.

Para usarlo solo tenemos que comprobar que nuestro servidor tiene instalado el idioma. En la consola de comandos de linux escribimos:
Código: Seleccionar todo
locale -a


Si en la lista aparece nuestro idioma, perfecto, pero si no es asi hay que instalarlo primero desde consola de comandos:
Código: Seleccionar todo
install-language-pack es_ES

Si aparece algun error, comprobar de nuevo con locale -a si se instalo o no, si se instalo, ignoramos el error.

una vez instalado ya podemos implementar el codigo php, incluyendo tambien strftime() ya que si no no vale para nada, a continuacion un ejemplo:

Código: Seleccionar todo
   setlocale(LC_TIME, 'es_ES.UTF-8');
$miFecha= gmmktime(12,0,0,1,15,2089); <-- tiempo unix vale tambien strtotime de la fecha que sea.
echo 'Después de setlocale es_ES.UTF-8 date devuelve: '.date("l, d-m-Y (H:i:s)", $miFecha).'<br/>';

echo 'Después de setlocale es_ES.UTF-8 strftime devuelve: '.strftime("%A, %d de %B de %Y", $miFecha);


Adaptamosel ejemplo de arriba como necesitemos y listo.
alexiter
Site Admin
 
Mensajes: 141
Registrado: Dom Nov 17, 2013 9:54 pm

Volver a PHP (symphony, etc...)

cron
  • Buscar mensajes nuevos
  • Buscar temas sin respuesta
  • ¿Quién está conectado?
  • En total hay 1 Usuario identificado :: 0 registrado, 0 ocultos y 1 invitado (basados en usuarios activos en los últimos 5 minutos)
  • La mayor cantidad de usuarios identificados fue 28 el Vie Ago 19, 2016 11:55 pm
  • Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado