'JANEIRO','2'=>'FEVEREIRO','3'=>'MARÇO','4'=>'ABRIL','5'=>'MAIO','6'=>'JUNHO','7'=>'JULHO','8'=>'AGOSTO','9'=>'SETEMBRO','10'=>'OUTUBRO','11'=>'NOVEMBRO','12'=>'DEZEMBRO');//Array com os meses do ano /* $dia inteiro de 1 a 31 $mes inteiro de 1 a 12 $ano inteiro de 1901 a 2038 */ function cria($dia,$mes,$ano){ $verf=date ("d/n/Y", mktime (0,0,0,$mes,$dia,$ano));//Corrige qualquer data invalida $pieces=explode("/",$verf); $dia=$pieces[0]; $mes=$pieces[1]; $ano=$pieces[2]; $last=date ("d", mktime (0,0,0,$mes+1,0,$ano));//Inteiro do ultimo dia do mês $diasem=date ("w", mktime (0,0,0,$mes,1,$ano));//Numero de dias na primeira semana do mês $numt=$last+$diasem;//Total de linhas na tabela $numt=($numt%7 != 0)?($numt+7-$numt%7):$numt; for($i=0;$i < $numt;$i++){ $data=$i-$diasem+1; if($i >= $diasem and $i < ($diasem+$last)){ if($i%7 != 0){ $aux[$i]="\n$data"; }else{ $aux[$i]="\n$data"; //Marca os domingos } }else{ $aux[$i]="\n "; } if($i%7 == 0){ $aux[$i]="".$aux[$i]; } if($i%7 == 6){ $aux[$i].="\n"; } } echo "
"; echo implode(" ",$aux); echo "
".$this->mes[$mes]." $ano
D S T Q Q S S
"; } } //Exemplos $teste=new calendario; $teste->cria(date("d"),date("n"),date("Y"),1); //Calendario com data atual $teste->cria(-31,70,1990,1);//Calendario com data invalida $teste->cria(3,11,2002,1);//Calendario do dia 3/11/2002 ?>
cria(1,1+$i,2004);?> cria(1,2+$i,2004);?> cria(1,3+$i,2004);?> cria(1,4+$i,2004);?>