<meta charset="utf-8">
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript">
<!--
$(function (){
$(".subMenu").hide()
$(".menu>td>a").mouseover(function () {
$(".subMenu").stop(true,true).hide(0);
$(this).parent().find("div.subMenu").slideDown("slow");
$(this).parent().addClass("mainHover")
})
$(".menu>td").hover(function () {},function () {$(this).find("div.subMenu").hide();
$(this).removeClass("mainHover")
}
)
})
-->
</script>
<style type="text/css">
<!--
#Layer1 {
position:absolute;
z-index:1;
display:none;
width:100px;
height:100px;
background: #ccc;
border:1px solid #ccc;
padding: 10px;
font-size: 14px;
color: red;
font-weight: bold;
}
a{
display: block;
width: 50px;
height: 100%;
text-decoration: none;
}
a:hover{
text-decoration:underline;
}
-->
</style>
<?php
class calendar{
private $_BiaoJi=1;
private $_CurrMon;//当前月
private $_MonNum;//每月天数
private $_WeekNum;//星期
private $_url;//连接;
private $_FirstDay;//每月的第一天
private $_LastDay;//每月的最后一天
private $_MonWeekSum;//每月有几个周
//构造方法赋值
function __construct() {
$this->_CurrMon= isset($_GET['mon'])?$_GET['mon']: date('n');
$this->_MonNum=array(31,30,31,30,31,30,31,31,30,31,30,31);
$this->_WeekNum=array('日','一','二','三','四','五','六');
$this->_url= $this->GetUrl();
$this->_FirstDay= getdate(mktime(0,0,0, $this->_CurrMon,1, date('Y')));
$this->Two();
$this->_LastDay= $this->_MonNum[$this->_CurrMon-1];
$this->_MonWeekSum= $this->MonWeekSum();
}
//返回连接
private function GetUrl(){
$_url=$_SERVER['REQUEST_URI'];
$_arr= parse_url($_url);
parse_str($_arr['query'],$_QueryArr);
unset($_QueryArr['mon']);
$_str= http_build_query($_QueryArr);
return $_arr['path'].'?'.$_str.'&mon=';
}
//返回二月份天数
private function Two(){
if(date('L')){
return $this->_MonNum[1]=29;
}else{
return $this->_MonNum[1]=28;
}
}
//返回每月的星期数
private function MonWeekSum(){
return ceil(($this->_LastDay+$this->_FirstDay['wday'])/7);
}
//上月
private function PreMon(){
if($this->_CurrMon>1){
return "<a href='".$this->_url.($this->_CurrMon-1)."' style='float:left; margin-left:15%;'><<</a>";
}
}
private function NextMon(){
if($this->_CurrMon<12){
return "<a href='".$this->_url.($this->_CurrMon+1)."' style='float:right; margin-right:15%;'>>></a>";
}
}
//月历
private function Mon(){
echo "<table border='1' align='center' width='400'>";
echo "<tr><td colspan='7' align='center'>".$this->PreMon().' '.date("Y").' 年 '.$this->_CurrMon.' 月 月历 '.$this->NextMon()."</td></tr>";
echo "<tr align='center'>";
foreach ($this->_WeekNum as $_arr1){
echo "<td>{$_arr1}</td>";
}
echo "</tr>";
for($i=0;$i<$this->_MonWeekSum;$i++){
echo "<tr align='center' class='menu'>";
for($j=0;$j<7;$j++){
if($this->_FirstDay['wday']>0 || $this->_BiaoJi>$this->_LastDay){
echo "<td> </td>";
$this->_FirstDay['wday']--;
}else{
if($this->_BiaoJi==date('j')){
echo "<td style='background:red;'><a href='#'>{$this->_BiaoJi}</a><div id='Layer1' class='subMenu'>阳历".$this->_CurrMon."月".$this->_BiaoJi."号"."</div></td>";
}else{
echo "<td><a href='#'>{$this->_BiaoJi}</a><div id='Layer1' class='subMenu'>阳历".$this->_CurrMon."月".$this->_BiaoJi."号"."</div></td>";
}
$this->_BiaoJi++;
}
}
echo "</tr>";
}
echo "</table>";
}
public function show(){
if($this->_CurrMon>0 && $this->_CurrMon<=12){
$this->Mon();
}else{
echo '非法操作';
}
}
}
$_calendar=new calendar();
$_calendar->show();
?>2. [文件] php月历类 ~ 70KB
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号