No existe una funcion predefinida para eso... pero puedes intentar con esto:
Código PHP:
$fechaCurso = '12-03-2009'; //fecha de inicio del curso
$diasCurso = array('2','4'); //Martes y Jueves
$hoy = '16-06-2009'; //fecha ficticia de hoy
echo calculaDiasCursos($hoy,$fechaCurso,$diasCurso);
function calculaDiasCursos($hoy,$fechaCurso,$diasCurso){
$mkCurso = explode('-',$fechaCurso);
//1 Lunes al 7 Domingo
$diasCount = array('1','2','3','4','5','6','7');
$numDias = count($diasCount);
$fechaHoy = explode('-',$hoy);
$semanaAno = date('W',mktime(0, 0, 0, $fechaHoy[1], $fechaHoy[0], $fechaHoy[2])); //esta semana
$diaSemana = date('N',mktime(0, 0, 0, $fechaHoy[1], $fechaHoy[0], $fechaHoy[2])); //este dia
$calcula1 = mktime(0, 0, 0, $mkCurso[1], $mkCurso[0], $mkCurso[2]);
$calcula2 = mktime(0, 0, 0, $fechaHoy[1], $fechaHoy[0], $fechaHoy[2]);
$diferencia = (intval($calcula2 - $calcula1))/24/60/60; //dias entre el comienzo del curso y hoy
$semanaDiff = abs(date('W',mktime(0, 0, 0, $mkCurso[1], $mkCurso[0], $mkCurso[2])) - $semanaAno); // semanas entre el comienzo y hoy
$x = 0;
$contar = 0;
while($x <= $semanaDiff){
if($semanaDiff == $x){
foreach ($diasCurso as $dia){
if($dia <= $diaSemana){
for($a=0;$a<$numDias;$a++){
if($dia == $diasCount[$a]){
$contar++;
}
}
}
}
}else{
foreach ($diasCurso as $dia){
for($a=0;$a<$numDias;$a++){
if($dia == $diasCount[$a]){
$contar++;
}
}
}
}
$x++;
}
return $contar;
}
No esta completamente testeada asi que si falta algo puedes probar y arreglarlo.
Suerte!