Mostrar la fecha en Español con PHP

Si imprimimos con normalidad la fecha en nuestra página, mediante PHP, seguramente esta aparecerá en inglés. Si ponemos algo así:

<?php echo strftime(“%A %d de %B del %Y”); ?>

Aparecerá por ejemplo “Thursday 17 de February del 2005”, cosa que no quedará muy acorde con nuestra página, si esta está en idioma Español.

La mejor solución es configurar las locales y PHP hará el resto por nosotros. Las locales son traducciones de cosas básicas, como la fecha, que suelen venir en el sistema operativo. Veamos como configurar las locales para el idioma Español:

set_locale(LC_ALL,”es_ES@euro”,”es_ES”,”esp”);

Ponemos varias opciones por si la primera no está disponible, saltará a la siguiente y así sucesivamente. Si ahora probamos el mismo código:

<?php

set_locale(LC_ALL,”es_ES@euro”,”es_ES”,”esp”);

echo strftime(“%A %d de %B del %Y”);

?>

Aparecerá “Jueves 17 de Febrero del 2005”.

Si no disponemos de locales, podemos hacer la traducción nosotros mismos. Por ejemplo, para el día de la semana haríamos algo así:

<?php

$dias = array(“Domingo”,”Lunes”,”Martes”,”Miercoles”,”Jueves”,”Viernes”,”Sábado”);

echo “Hoy es “.$dias[date(‘w’)];

?>

date(‘w’) devuelve el día de la semana, entre 0 y 6. 0 es el domingo y 6 el sábado. Para el mes podemos hacer algo parecido, sabiendo que date(‘n’) devuelve el mes, entre 1 y 12. Hay que tener en cuenta que en este caso no empieza desde 0.

Leave A Comment?