php實現的行事曆程式_php技巧

來源:互聯網
上載者:User

本文執行個體講述了php實現的行事曆程式。分享給大家供大家參考。具體如下:

<?php////判斷$Year和$Month是否為空白,如果為空白就擷取系統當前日期,否則用$_GET擷取$Year = empty($_GET['Year']) ? date("Y"): $_GET["Year"];$Month = empty($_GET['Month']) ? date("m"): $_GET["Month"];////擷取當前日期////$Today = date("Ymj");////初始化日期數組////$Maxday = array("1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31");$Maxday_count = count($Maxday);////初始化星期數組////$Weekday = array("<font color='red'>Sun</font>","Mon","Tue","Wed","Thu","Fri","<font color='red'>Sat</font>");$Weekday_count = count($Weekday);$daynum = 0;$space = "<td> </td>";$col = 0;////列印表格頭部////?><form action="calendar.php" method="post" name="linked"><table><tr><td colspan=3 align=center><a href="?Year=<?php if($Year-1 > 1900)echo $Year-1;else echo $Year;?>&Month=<?php echo $Month?>" onClick="javascript:document.linked.submit();" name="Year"><<</a> <?php echo $Year?> <a href="?Year=<?php if($Year+1 <2999) echo $Year+1;else echo $Year;?>&Month=<?php echo $Month?>" onClick="javascript:document.linked.submit();" name="Year">>></a></td><td> </td><td colspan=3 align=center><a href="?Year=<?php echo $Year?>&Month=<?php if($Month-1 >0) if($Month-1 < 10)echo "0".($Month-1); else echo $Month-1; else echo $Month;?>" onClick="javascript:document.linked.submit();" name="Month"><<</a> <?php echo $Month;?> <a href="?Year=<?php echo $Year?>&Month=<?php if($Month+1 <13) if($Month+1 <10) echo "0".($Month+1);else echo ($Month+1); else echo $Month;?>" onClick="javascript:document.linked.submit();" name="Month">>></a></td></tr><tr><td colspan="8"></td></tr><tr><?php////列印星期列表////while(list(,$Weekvalue) = each($Weekday)) echo "<td align=center> ".$Weekvalue." </td>";echo "</tr>";////列印日期列表//////當月份為4,6,9,11的時候,從數組末尾刪除一個值,也就是刪除31這個值.if($Month == 4 or $Month == 6 or $Month == 9 or $Month == 11){ array_pop($Maxday); $Maxday_count--;}//先判斷月份是否為2月,如果是的話再判斷年份是否為閏年,如果是的話就從數組尾部移除2個值,否則就移除3個值.if($Month == 2){ if($Year % 4 == 0) { array_pop($Maxday); array_pop($Maxday); $Maxday_count-=2; } else { array_pop($Maxday); array_pop($Maxday); array_pop($Maxday); $Maxday_count-=3; }}////列印日期////while($daynum < $Maxday_count){echo "<tr>"; while(list($colnum,$Dayvalue) = each($Maxday)) {  //判斷當前日期為一星期中的哪一天  $DayWeek = date("w",strtotime($Year."-".$Month."-".$Dayvalue));  //噹噹前日期處於第1個,也就是每個月的第1天的時候,在它前面補上相應的空格子  if($Dayvalue == 1)   for($i=0;$i<$DayWeek;$i++)   echo $space;//列印每個月空出的幾個格子  $daynum++;  //當列印日期的時候與當前日期文字進行比較,如果相等就將字型標為紅色.  if($Year.$Month.$Dayvalue == $Today)  {   $u1 = "<b><u>";   $u2 = "</b></u>";  }  else  {   $u1 = "";   $u2 = "";  }  if($DayWeek == 0 or $DayWeek == 6)   $color = "red";  else   $color = "black";  echo "<td align=center><font color=".$color."> ".$u1.$Dayvalue.$u2." </font></td>";  //用本周第幾天這個值加1,如果是7的倍數就換行退出此輪迴圈(換行列印)  if(($DayWeek+1) % 7 == 0)  {   $col++;   break;  } }echo "</tr>";}?>

運行效果如下:

希望本文所述對大家的php程式設計有所協助。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.