Nombre del mes en español en PHP

Como mostrar nombre del mes en español en PHP

 Esta corta  función permite mostrar el nombre del mes en PHP, sin utilizar arrays ni cosas raras.
Utiliza funciones nativas de PHP.

function nombremes($mes){
setlocale(LC_TIME, 'spanish');
$nombre=strftime("%B",mktime(0, 0, 0, $mes, 1, 2000));
return $nombre;

El nucleo es la función strftime que utilizamos con 2 parametros: el primero es el formato en que quiero que me devuelva la fecha y el 2do es la fecha en si (en formato TIMESTAMP por eso la armamos con mktime) que sino lo pasamos toma la fecha actual.  En este caso pongo el dia en 1 y el año en 2000 ya que no los voy a utilizar.

El setlocale es importante porque selecciona los locales de fecha y hora en «spanish», sino saldrian los nombres de los dias y meses en ingles.

El uso de la función es muy simple. Ej:

$mes=nombremes(8);
echo $mes; //devuelve "agosto"

o algo más simple: echo nombremes(8) devuelve «agosto».

En la mayoría de las webs, existen ejemplos mucho mas complicados con arrays y otros métodos más largos y complicados. Si en vez del mes quieren el día solo deben cambiar el %B por %A para el día completo y por %a para el día con 3 letras y luego cambiar la ubicación de la variable $mes (y cambiarle el nombre para que quede entendible).
Pueden mejorar la función para que devuelva el mes o el día según el parámetro pasado, se los dejo como ejercicio de práctica…

Deja una respuesta