Skip to content

Instantly share code, notes, and snippets.

@mateusneves
Created March 25, 2015 20:16
Show Gist options
  • Save mateusneves/a1c85380bd1c556db0d5 to your computer and use it in GitHub Desktop.
Save mateusneves/a1c85380bd1c556db0d5 to your computer and use it in GitHub Desktop.
Get all dates in a month of an specific week day
function dias($dia_semana, $mes, $ano) {
$Date = new DateTime();
$dias = cal_days_in_month(CAL_GREGORIAN, $mes, $ano);
for ($dia = 0; $dia <= $dias; $dia++) {
$Date->setDate( $ano, $mes, $dia );
if ($Date->format( "w" ) == $dia_semana) {
$datas[] = $dia."/".$mes."/".$ano;
}
}
return $datas;
}
// Exemplo de uso
// Quintas-feiras no mês de novembro/2012
print_r(dias("4","11","2012"));
// Quantidade de Quintas-feiras no mês de novembro/2012
echo count(dias("4","11","2012"));
// Ultima Quinta-feira do mês de novembro/2012
echo end(dias("4","11","2012"));
// 4 = dia da semana pesquisado
// 0 = Domingo a 6 = Sábado
// 11 = Mes do ano a ser pesquisado com 2 digitos
// 2012 = Ano com 4 digitos
// A função gera uma matriz (datas) com as datas pesquisadas.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment