PHP学习笔记之皇历

php中文网
发布: 2016-06-13 12:14:35
原创
1139人浏览过

PHP学习笔记之万年历

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>万年历</title><?php	$MONTH = array("元月","壹 月","贰 月","叁 月","肆 月","伍 月","陆 月","柒 月","捌 月","玖 月","拾 月","拾壹月","拾贰月");	$enMONTH = array("元月","January" ,"February" ,"Marcy" ,"April" ,"May" ,"June" ,"July" ,"August" ,"September" ,"October" ,"November" ,"December");	$WEEK = array("星期日","星期一","星期二","星期三","星期四","星期五","星期六");	$BACKCOLOR = array("#FFC" , "#FFF" , "#9F6" , "#FFC" , "#6F0" , "#6F6" , "#F90" , "#F06" , "#F00" , "#FC3" , "#FF6" , "#F99");	$ChineseNum = array("零", "一", "二", "三", "四", "五", "六", "七", "八", "九");		function ChangeNum($str)	{		global $ChineseNum;				for ($i=0; $i<=9; $i++)		{			$s = (string)$i;		  	$str = str_replace($s, $ChineseNum[$i], $str);		}				return $str;	}		function MonthDays($year, $month)//根据输入的年号和月份,返回该月的天数    	{		switch($month)		{			case 1:			case 3:			case 5:			case 7:			case 8:			case 10:			case 12:  return 31;			case 4:			case 6:			case 9:			case 11:  return 30;			case 2:   if (($year%4 == 0 && $year%100 != 0) || $year%400 == 0)						  return 29; 					  else						  return 28;			default: die("这是一个错误的月份!");		 }	}		function WeekDay($year, $month, $day) //根据输入的日期,返回对应的星期	{		$commonYear = 0;		$leapYear = 0;				for ($i=1; $i<$year; $i++) 		{			if (($i%4 == 0 && $i%100 != 0) || $i%400 == 0)			{				$leapYear++;			}			else			{				$commonYear++;			}		}		$sum = 366 * $leapYear + 365 * $commonYear;				for ($i=1; $i<$month; $i++) 		{			$sum += MonthDays($year, $i);		}				$sum += $day;   //获得总天数 				return (int) $sum % 7;	}		function PrintMon($year, $month)	{		global $MONTH;		global $enMONTH;		global $WEEK;		global $BACKCOLOR;				$color = $BACKCOLOR[$month]; //设置月历的背景颜色				echo("<table border=\"1\" cellspacing=\"0\" cellpadding=\"0\" bgcolor=\"$color\">");		$ym = ChangeNum($year) . "年 ". $MONTH[$month];		echo("<caption><h1>$ym</h1></caption>");		echo("<tr>");		for ($i=0; $i<7; $i++) //输出星期几		{			echo("<td width=\"90\", height=\"40\" align=\"center\" >");			echo("<h2>$WEEK[$i]</h2>");			echo("</td>");		}		echo("</tr>");				$theDay = 1;		$numOfDays = MonthDays($year, $month);//根据输入的年号和月份,返回该月的天数  		$theWeek = WeekDay($year, $month, $theDay); //根据输入的日期,返回对应的星期几		for ($i=0; $i<6; $i++)		{			echo("<tr>");			for ($j=0; $j<7; $j++)			{				echo("<td width=\"90\", height=\"40\" align=\"center\" >");				if ($theDay <= $numOfDays && $theWeek == $j)//把日期输出到对应的星期几所在列,并注意不要超出本月日期				{					echo("<h2>$theDay</h2>");					$theDay++;					$theWeek = ($theWeek + 1) % 7;//更新星期				}				echo("</td>");			}			echo("</tr>");			if ($theDay > $numOfDays) //如果已经输出全部日期,结束循环			{				$i = 6;			}		}				echo("</table");	}  ?></head><body>    <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">      <h1>请输入要查看的年号和月份</h1>      <input type="text" name="myYear">年<input type="text" name="myMonth">月      <input type="submit">    </form>        <?php	  $year = (int) $_POST['myYear'];  	  $month = (int) $_POST['myMonth']; 	  	  if ($year > 0)	  {  		if ($month >= 1 && $month <=12)		{		  PrintMon($year, $month);		}		else if($month != NULL)		{		  echo("月份不对" . "<br />");		}	  }	  else if($year != NULL)	  {		echo("年份不对" . "<br />");	  }    ?>    </body></html>
登录后复制

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号