Fechas en español con PHP y la función strftime()
Hace un tiemp os explicábamos como obtener el año actual en PHP. Hoy vamos a ver como podemos obtener una fecha en castellano con PHP, al estilo de:
viernes, 19 de septiembre de 2008
Como explica la documentación de PHP, la función strftime()
Devuelve una cadena con formato de acuerdo a la cadena de formato dada usando la marca_de_tiempo dada o la hora local si no se entrega una marca de tiempo. Los nombres de mes y día de la semana y otras cadenas dependientes del idioma respetan la localidad actual definida con setlocale().
¿Y que quiere decir todo esto? Vamos a ver un ejemplo.
La función strftime() recibe dos parametros.
El parámetro $formato es una cadena de texto donde estableceremos el formato en el que la función nos devolverá la fecha.
$marca_de_tiempo es un integer con la fecha en formato UNIX.
Para nuestro ejemplo, necesitamos obtener el nombre completo día, el número del día, nombre completo del mes y el año usando 4 cifras, y todo esto, por supuesto, en perfecto castellano.
Así, el parámetros $formato sería así:
-
$formato = "%A, %d de %B de %Y";
-
// %A devuelve el nombre del día completo
-
// %d devuelve el número del día
-
// %B devuelve el nombre completo del mes
-
// %Y devuelve el numero de año con cuatro cifras
Para obtener la fecha deseada, podremos usar varias funciones:
strtotime() si obtenemos la fecha de una base de datos
time() para obtener la fecha actual
O cualquier otra función que devuelva una fecha en formato UNIX.
Así, la llamada completa a la función strftime() quedaría así:
Bien, hasta aqui facil, ¿verdad? Pero, ¿cómo definimos en qué idioma queremos que devuelva la fecha?
Para ello usaremos la función setlocale(), que se encarga de fijar la localización de la página web, es decir, establece el idioma.
Para establecer como idioma el español de España, la función setlocale() debe ser esta:
Una vez hemos establecido que el idioma de la página es el castellano, la función strftime() devolverá la fecha en el idioma esperado.
Como veis, es muy fácil obtener fechas en castellano con PHP, ahorrándonos los típicos arrays con los nombres de los meses.
Dejo el código completo, para que sea más fácil el copy&paste
-
// establecemos el idioma de la página
-
-
//creamos la cadena con los especificadores necesarios
-
$formato = "%A, %d de %B de %Y";
-
-
//Mostramos la fecha, ahora sí en el idioma deseado.
Si te ha sido útil este código, alégranos el día y deja un comentario ![]()
Si eres nuevo, puedes subscribirte a nuestras noticias por RSS feed. Gracias por tu visita!










