Día de la semana en PHP

31/Ago/2013 PHP , 1 Comentario

Montando una página la cual quiera saludar al usuario con la frase "Buenos días, hoy es Sábado" es un buen ejemplo para mostrar como obtener el día de la semana en PHP. Y sobre todo como obtener el día de la semana en PHP y que nos muestre el texto en español.

Utilizando función PHP date

Lo primero que se nos ocurre es tirar de la función date de PHP. Al fin y al cabo trae múltiples formas de obtener información de la fecha.

Además tenemos un modificador, que es "l", el cual nos retorna el día de la semana en PHP. Así que nos ponemos manos a la obra y escribimos lo siguiente:

  1. echo "Buenos días, hoy es "date("l");

Hasta aquí parece que es muy sencillo obtener el día de la semana en PHP (al final también lo será). El problema es que vemos que el programa nos dirá...

Buenos días, hoy es Saturday

Vaya, nos aparece en "spanglish". Pero no desesperemos, ¿podemos localizar la función date jugando con el setlocale? Algo así como:

  1. setlocale(LC_ALL,"es_ES");

Pero tampoco... y es que la función PHP date no es una función que trabaje con localizaciones y por lo tanto devuelve siempre el contenido en inglés.

Utilizando función PHP date y un array

Si queremos seguir trabajando con la función PHP date no debemos desesperar ya que podemos implementar una solución alternativa definiéndonos nos array con los valores de la semana.

  1. $dias = array("domingo","lunes","martes","miércoles","jueves","viernes","sábado");

Y ahora jugar con el modificador "w" de la función PHP date. Y es que este modificador hace que la función PHP date devuelva el día de la semana en un número. Nosotros ya nos hemos apañado para que este número coincida con la posición del array, ya que el 0 es el domingo y el 6 el sábado.

El código a utilizar será:

  1. echo "Buenos días, hoy es ".$dias[date("w")];

Utilizando la función PHP strftime

Como la función PHP date no nos permite localizar el texto, podemos utilizar la función PHP strftime, la cual si que trabaja con el locale.

Así que lo primero es volver a utilizar la función setlocale para todas las funciones "LC_ALL".

  1. setlocale(LC_ALL,"es_ES");

Y ahora utilizarmos strftime mediante el modificador %A que es el que nos indica el día de la semana. Así pondremos el siguiente código:

  1. echo strftime("Buenos d&iacute;as, hoy es %A <br>");

Seguro que alguna de estas dos opciones nos vale para poder poner el día de la semana en PHP.

Difunde el Conocimiento

Si te ha gustado el artículo o te ha sido de utilidad, no dejes de compartirlo con tus amigos en las redes sociales... Te estaremos muy agradecidos. :-D

Un comentario en “Día de la semana en PHP”

Víctor Cuervo

Javier

Buenas!
Quiero saber si alguien me puede ayudar con un problema.
Necesito en mi pagina mostrar un link solamente los dias sabados en un determinado horario.
Es esto posible con PHP?
Desde ya agradezco toda la ayuda que me puedan brindar.

Los comentarios están cerrados.