Classe para gerar calendário em PHP
Publicado por Edvaldo Silva de Almeida Júnior 13/06/2008
[ Hits: 18.223 ]
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"; } } ?>
Separa endereços sem formatação
Converter String para Minúsculo
IA local no bolso, novo visual no Raspberry Pi OS e mais destaques do software livre
Kernel turbinado, compatibilidade em alta e debate sobre sustentabilidade: o dia no mundo Linux
Kernel turbinado e GNOME 49 dominam o giro do dia no mundo Linux
Novidades Linux: Kernel 6.17, distros em ebulição e segurança em foco
Kernel ganha novos linters Rust e distros avançam com recursos de IA
Adicionando o repositório backports no Debian 13 Trixie
Como definir um IP estático no Linux Debian
SAMBA parou de compartilhar [RESOLVIDO] (3)
Orientação para instalar o Warsaw - módulo de proteção do Banco do Bra... (8)
systemd-resol... precisa ser reiniciado periodicamente (5)
Alguém que utilize o Warsaw do BB no Ubuntu 24.04 [RESOLVIDO] (6)
Fedora não reconhece James Donkey 102 Wireless Gaming Mouse (2)