因為最近在寫一個日歷的項目功能,所以自然而然想到了日志的存檔,其實實現這樣的功能也不是很難,首先要有一個日歷的表單來直觀顯示日歷,而處理日期的時間就交給了編程代碼,比如PHP,對於要看之前寫的文檔,也就是將日歷向前翻,那麼就需要提交日歷時間了,然後再交給表單來顯示出來。
效果
下面是一個新手做的PHP日歷功能,這裡用一個文件將日歷的功能給寫出來了,文件不是很大,有注釋,是一個簡單的原理功能,接受部分都是由PHP來處理的,顯示部分用的是表格,如果做PHP的日歷項目可以直接進行二次開發即可使用。
代碼如下 復制代碼
<?php
//剝離日期
date_default_timezone_set("Asia/Harbin");
$riqi=getdate();
$nian=$riqi['year'];
$yue=$riqi['mon'];
$ri=$riqi['mday'];
$hour=$riqi['hours'];
$min=$riqi['minutes'];
$miao=$riqi['seconds'];
//表單判斷
if(isset($_GET["yue"])){
$yue=intval($_GET["yue"]);
}
if(isset($_GET["nian"])){
$nian=intval($_GET["nian"]);
}
//一個月幾天
$tianshu=date('t',mktime(0,0,0,$yue,1,$nian));
//月份第一天周幾
$yuez=date('w',mktime(0,0,0,$yue,1,$nian));
$tian=0;
?>
<!-- 打印日歷 -->
<table border="1" width="80%">
<tr>
<td width="60%">
<table border="1" width="100%">
<tr>
<th colspan="7">日歷<?php echo $nian."年".$yue."月"?> 現在時間:<?php echo $hour.':'.$min.':'.$miao;?></th>
<tr>
<tbody bgcolor="#FF9900">
<tr>
<td>日</td>
<td>一</td>
<td>二</td>
<td>三</td>
<td>四</td>
<td>五</td>
<td>六</td>
</tr>
</tbody>
<tbody>
<?php for($h=1;$h<=6;$h++){?>
<tr>
<?php for($l=1;$l<=7;$l++){ ?>
<td bgcolor="<?php if($tian+1==$ri){echo "#FF6666";}?>" align="center">
<?php
if($h*$l<=$yuez && $h==1){
echo ' ';
}elseif($tian<$tianshu){
echo ++$tian;
}else{
echo ' ';
}
?>
</td>
<?php }?>
</tr>
<?php }?>
</tbody>
</table>
</td>
<!-- 年翻頁 -->
<td>
<a href ="?nian=<?php echo $nian-1; ?>&yue=<?php echo $yue;?>">上一年</a>
<a href ="?nian=<?php echo $nian+1; ?>&yue=<?php echo $yue;?>">下一年</a>
<!-- 月翻頁 -->
<!-- 左翻頁 -->
<a href ="?yue=<?php if($yue-1<=0){echo '12';}else{echo $yue-1;} ?>&nian=<?php echo $nian; ?>">
<?php
if($yue-1<=0){
echo '<'.'12';
}else{
echo '<'.($yue-1);
}
?>月
</a>
<!-- 右翻頁 -->
<a href ="?yue=<?php if($yue+1>12){echo '1';}else{echo $yue+1;} ?>&nian=<?php echo $nian; ?>">
<?php
if($yue+1>12){
echo '1';
}else{
echo $yue+1;
}?>月>
</a>
<!--表單提交-->
<form action="01.php" method="get">
<p>年: <input type="text" name="nian" /></p>
<p>月: <input type="text" name="yue" /></p>
<input type="submit" value="提交" />
</form>
</td>
</tr>
</table>