Para poder saber que día de semana es una determinada fecha, podemos utilizar unas funciones de php que nos dan un valor según el dia de semana que sea. Para valor entero: 0=domingo, 1=lunes,…..
Para valor string: Sunday, Monday …..
La función jddayofweek ( int $diajuliano , int $modo ) devuelve según el modo un entero o un string, para el modo=0 es un entero (modo=1 es string, emite el nombre del día de la semana en inglés).
Entonces si ponemos:
jddayofweek(cal_to_jd(CAL_GREGORIAN, date("m"),date("d"), date("Y")) , 0 );
nos retorna el entero entre 0 y 6 segun para el día actual.
$fecha= "2010/02/15";
$i = strtotime($fecha);
echo jddayofweek(cal_to_jd(CAL_GREGORIAN, date("m",$i),date("d",$i), date("Y",$i)) , 0 );
Emite el 1 que es Lunes.
muy buena funcion ¡¡¡¡
me a funcionando de maravilla ¡¡¡
Genial!! pone un ojo cerca de este blog!
Excelente código, me ha servido de maravilla!! Gracias!
Genial, manten un ojo en este blog!
FUNCIONO EXCELENTE
//PHP copia y pega este codigo
$MiFecha=»20130425″; //las fechas las uso como año mes dia en entero (como vienen en las camaras de fotos) pues se manejan mas facilmente
$fecha= substr($MiFecha,0,4).»/».substr($MiFecha,4,2).»/».substr($MiFecha,6,2);
$diaSem = strtotime($fecha);
$eldiaes = jddayofweek(cal_to_jd(CAL_GREGORIAN, date(«m»,$diaSem),date(«d»,$diaSem), date(«Y»,$diaSem)) , 0 );
//tengo este arreglo dado de alta mas arriba
$dias = array(Dom,Lun,Mar,Mie,Jue,Vie,Sab);
//aqui sale si es lunes o martes etc
echo «>>>> dia = «.$dias[$eldiaes];
Me parece una vuelta innecesaria. No entiendo ni uso eso de días julianos, calendario gregoriano, etc. Encima no cumples con la documentación estricta de PHP, quizá en otra versión ya no funciona lo que pones.
Para hacer eso que buscas es más corto y fácil hacer lo siguiente:
date(‘N’,(y aquí la fecha en timestamp));
devuelve 1 para lunes, etc.
Gracias por tu aporte. Si sabías como resolver el problema (y de forma más sencilla) ¿ por qué buscaste como resolverlo ?
funciona de lujo muchas gracias…