Funcion Weekday en PHP, para Obtener el Numero de Dia de la Semana

Escrito en March 13, 2008 – 2:13 pm | por Titux | 2,205 views

Esta es una funcion en php para obtener el numero de dia de la semana de una fecha especifica, ya que php no cuenta con esta funcion, y es nos es muy util a la hora de hacer calculos para calendarios, alarmas, y demas modulos.

La funcion regresa el numero correspondiente a la lista siguiente:

0 Lunes
1 Martes
2 Miercoles
3 Jueves
4 Viernes
5 Sabado
6 Domingo

PHP:
  1. // Esta funcion acepta como parametro la fecha en formato DD/MM/YYYY
  2. function weekday($fecha){
  3.     $fecha=str_replace("/","-",$fecha);
  4.     list($dia,$mes,$anio)=explode("-",$fecha);
  5.     return (((mktime ( 0, 0, 0, $mes, $dia, $anio) - mktime ( 0, 0, 0, 7, 17, 2006))/(60*60*24))+700000) % 7;
  6. }
  7.  
  8. //Asi mandamos llamar dicha funcion con la fecha actual
  9. print weekday(date("d/m/Y"));

Este snippet lo saque del blog del buen Wama: blog.deliriumlabs.net

Bytes...

Entradas Relacionadas

  1. 5 Responses to “Funcion Weekday en PHP, para Obtener el Numero de Dia de la Semana”

  2. By Daniel on May 25, 2009 | Reply

    muchas gracias pero vea que me saca este error

    Warning: mktime() expects parameter 5 to be long, string given

    y me dice la linea en la que está la funcion mktime()

    seguiré buscando ;)

    ciao

  3. By Daniel on May 25, 2009 | Reply

    ahh ya me sirvió xD jajaja … muchas gracias

  4. By darcon3371 on May 27, 2009 | Reply

    Gracias, me ahorraste el trabajo de hacerla, aunque me toca modificarla un poco para lo que la necesito… si tengo tiempo mas tarde la posteo

  5. By darcon3371 on May 27, 2009 | Reply

    me quedo asi:

    // Recibe fechas en este formato: aaammdd y retorna: Lunes ó Martes ó Mierc….

    function getDiaSemana($fe){
    global $dias_sem;
    $ano = substr($fe,0,4);
    $mes = substr($fe,4,2);
    $dia = substr($fe,6,2);
    return $dias_sem[date(”w”, mktime(0, 0, 0, $mes, $dia, $ano))];
    }

    ahi que tener definido este array, en el archivo donde guardamos las variables globales:

    $dias_sem = array(1 => “Lunes”, 2 => “Martes”, 3 => “Miercoles”, 4 => “Jueves”, 5 => “Viernes”, 6 => “Sabado”, 7 => “Domingo”);

    Espero que le sirva a alguien :)

  6. By CT on Nov 13, 2009 | Reply

    Les dejo una correccion, la funcion date(”w”…) devuelve valores desde 0 a 6, siendo 0 el dia domingo, no 7 como dicen por ahi.
    Saludos

Post a Comment

Acerca De

Alterbrain - Tecnologia, Programacion Web, MySQL, Diseño, Tips, Noticias y Mas.

Buscar Post :