Como poner fechas en español usando php Esto es una pequeña ayuda para los
programadores que utilizan php y que a menudo se encuentran con problemas a la hora de trabajar con fecha, por mi parte siempre sufro tener que manipular fecha pero creo que es por una negación personal que tengo mas que por dificultad del propio tema.
Veamos, la función principal para manipular fecha en PHP es la función
PHP DATENo hablare de esta función en este
tutorial pero si tienen dudas me lo dicen y preparo algo mas especifico sobre el esto, el tema principal ahora es que esta función devuelve cadenas en ingles, es decir los días y lo meses.
Para pasarlo a español tenemos dos formas rápidas.La primera es
setear la función setlocale para que interprete el idioma español como principal y de esta manera las funciones propias de php que manejan cadenas de texto serán devuelta en el idioma que especifiquemos.
Por ejemplo para usar el español seria:
setlocale(LC_ALL,”es_ES”);
Esta funcion solo funciona con
strftimeEl segundo método permite usar la función date y consiste en
crear 2 arrays con los nombre de los meses y de los días en español y utilizando los indices de los array devolver el que corresponda.
public function dia($index)
{
$dias = array("Domingo","Lunes","Martes","Miercoles","Jueves","Viernes","Sábado");
return $dias[$index];
}
public function mes($index)
{
$meses = array("Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre");
return $meses[$index];
}
Un ejemplo seria:
echo $dias[date('w')]." ".date('d')." de ".$meses[date('n')-1]. " del ".date('Y') ;
La explicación seria que
date(w) devuelve el numero del día en el que nos encontramos (0 (para domingo) hasta 6 (para sábado))
entonces usamos ese numero y lo buscamos como indice en el array de días esto nos devolverá el día escrito
date(d) nos devuelve el numero en 2 dígitos (01 a 31)
date(n) Representación numérica de un mes, sin ceros iniciales, le restamos uno ya que los arrays empiezan desde 0 y lo evaluamos en el array meses, esto nos permite la representación textual del mes.
y finalmente
date(Y) nos devuelve el año completo con
4 digitosentonces podemos obtener algo como
Jueves 07 de Enero del 2016
Si tienen dudas al respecto no duden en comentar el post para que los pueda ayudar.
Abrazo!