Classe para gerar calendário em PHP
Publicado por Edvaldo Silva de Almeida Júnior 13/06/2008
[ Hits: 18.157 ]
Homepage: http://emeraldframework.net
Essa é uma classe bem simples que gera um calendário. Ela recebe como parâmetros o mês e o ano do calendário desejado.
Pode ser que isso seja útil para alguém, de forma que estou publicando aqui.
<?php class Calendario { public $dia; public $mes; public $ano; public $tstamp; public $dtmanip; public $dsprimdia; public $linhafechada; public function Calendario( $pmes, $pano ) { $this->linhafechada = true; $this->dia = 1; $this->mes = $pmes; $this->ano = $pano; $this->calcula_tstamp(); $this->data_manipulavel(); $this->primeiro_dia_mes(); } public function calcula_tstamp() { $this->tstamp = mktime( 0, 0, 0, $this->mes, $this->dia, $this->ano ); } public function data_manipulavel() { $this->dtmanip = getdate( $this->tstamp ); } public function primeiro_dia_mes() { $this->dsprimdia = $this->dtmanip[ "wday" ]; } public function proximo_dia() { $this->dia++; $this->calcula_tstamp(); } public function exibe_calendario() { $larg = 100.0/7.0; echo "<table border='1' width='100%' cellpadding='0' cellspacing='0' align='center' bordercolor='#333333'>\n"; echo "<tr class='titulotabela'>\n"; echo "<td align='center' width='".$larg."%'>Dom</td>\n"; echo "<td align='center' width='".$larg."%'>Seg</td>\n"; echo "<td align='center' width='".$larg."%'>Ter</td>\n"; echo "<td align='center' width='".$larg."%'>Qua</td>\n"; echo "<td align='center' width='".$larg."%'>Qui</td>\n"; echo "<td align='center' width='".$larg."%'>Sex</td>\n"; echo "<td align='center' width='".$larg."%'>Sab</td>\n"; echo "</tr>\n"; $ccol = 0; $casa = 0; while( checkdate( $this->mes, $this->dia, $this->ano ) ) { if ( $this->linhafechada ) { echo "<tr>\n"; $this->linhafechada = false; } if ( $casa < $this->dsprimdia ) { echo "<td> </td>\n"; } else { echo "<td align='center'>\n"; echo $this->dia."\n"; echo "</td>\n"; $this->proximo_dia(); } $ccol++; $ccol = $ccol % 7; $casa++; if ( ( $casa % 7 ) == 0 ) { echo "</tr>\n"; $this->linhafecha = true; } } while( $ccol != 0 ) { $ccol++; $ccol = $ccol % 7; echo "<td> </td>\n"; } echo "</tr>\n"; echo "</table>\n"; } } ?>
Simulado semelhante ao do vol em PHP!
Saber se acesso a aplicação web é feito pela rede interna ou externa
Atualizando o Passado: Linux no Lenovo G460 em 2025
aaPanel - Um Painel de Hospedagem Gratuito e Poderoso
O macete do Warsaw no Linux Mint e cia
O que você quer para sua vida ao usar o Linux?
Visualizar arquivos em formato markdown (ex.: README.md) pelo terminal
Dando - teoricamente - um gás no Gnome-Shell do Arch Linux
Teclado n~ao escreve abnt2 (2)
Olha que maravilha, Arch no C2D 7400, 2GB de RAM, vídeo onboard e no G... (4)