Fechas en Español en PHP
¿Cómo conseguir mostrar las fechas en idioma español (nombre del día de la semana y nombre del mes en Español) en PHP?
Dependiendo de la configuración del servidor, si quieres sacar por pantalla una fecha indicando el día de la semana (Lunes, Martes …) o el mes (Enero, Febrero, …) puede ocurrirte algo así:
echo date('l, d M Y'); //Formato de salida: Sunday, 8 Sep 2013 |
Como veis, ni el Sunday ni el Sep son estrictamente en formato español. ¿Cómo devolverlo en idioma español?
Hay dos formas de hacerlo, dependiendo de la configuración de tu servidor:
1. Mostrar fechas en español en PHP set locate:
Si tu servidor lo soporta, puedes indicar el idioma de localización. En el caso de español:
setlocale(LC_ALL,”es_ES”); |
Después, para mostrar la fecha en el formato indicado hay que emplear la función strftime. Ejemplo:
echo strftime("%A %d de %B del %Y"); //Salida: domingo 8 de septiembre del 2013 |
¿Qué hacer si tu servidor no soporta setlocate? Aquí tienes otro método:
2. Mostrar fechas en español en PHP con arrays:
Si tu servidor no soporta setlocate no te quedará otra que emplear métodos más manuales.
Es decir, emplear un array para nombres de días en Español y otro para nombre de meses en español. Accediendo a la posición de dichas listas con el número del día o mes respectivamente obtendremos el valor del array que hemos definido.
Ejemplo:
$dias = array("Domingo","Lunes","Martes","Miercoles","Jueves","Viernes","Sábado"); $meses = array("Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"); echo $dias[date('w')]." ".date('d')." de ".$meses[date('n')-1]. " del ".date('Y') ; //Salida: domingo 8 de septiembre del 2013 |
Fuente: lachabela.wordpress.com – fechas en espanol con php y setlocale