PHP实例————万年历
来源:互联网 发布:Ubuntu16安装Apache 编辑:程序博客网 时间:2024/04/28 14:44
和大家分享一个简易的万年历制作过程。
基本要求:
1.获取日期
2.获取给定日期是几号
3.获取给定日期是周几
4.获取月份天数
5.获取上一月和下一月
先贴一张效果图,样式做的比较丑,不喜勿喷。
php代码:
<?php//修改字符编码header("content-type:text/html;charset=utf-8");//外部样式链接echo "<link rel='stylesheet' type='text/css' href='calendar.css'/>";//获取当前年$year=$_GET['Y']?$_GET['Y']:date('Y');//获取当前月$month=$_GET['m']?$_GET['m']:date('m');//获取当月有多少天$days=date('t',strtotime("{$year}-{$month}-1"));//当前是周几$week=date('w',strtotime("{$year}-{$month}-1"));//内容居中显示echo "<center>";//打印表头echo "<h1>{$year}年{$month}月</h1>";//打印日期表格echo "<table>";//打印星期echo "<tr>";echo "<th>周日</th>";echo "<th>周一</th>";echo "<th>周二</th>";echo "<th>周三</th>";echo "<th>周四</th>";echo "<th>周五</th>";echo "<th>周六</th>";echo "</tr>";//打印几号for($i=1-$week;$i<=$days;){echo "<tr>";for($j=0;$j<7;$j++){if($i>$days||$i<1){echo "<td> </td>";}else{echo "<td>$i</td>";}$i++;}echo "</tr>";}echo "</table>";//上一月和下一月算法if($month==1){$prevyear=$year-1;$prevmonth=12;}else{$prevyear=$year;$prevmonth=$month-1;}if($month==12){$nextyear=$year+1;$nextmonth=1;}else{$nextyear=$year;$nextmonth=$month+1;}//上一月和下一月的超链接echo "<h2><a href='indextest.php?Y={$prevyear}&m={$prevmonth}'>上一月</a>&<a href='indextest.php?Y={$nextyear}&m={$nextmonth}'>下一月</a></h2>";echo "</center>";?>
CSS代码:
table{width:500px;height:300px;border:red dashed 1px;background:#ff00ff;}tr{text-align:center;}td{border:gray dotted 1px;}h1{font-style:italic;font-size:50px;font-family:'宋体';}h2 a{font-style:normal;font-size:40px;font-family:'黑体';color:purple;}/*组合选择器*/tr,td,th{font-size:20px;background:gray;}
说几点比较容易出错和用法巧妙的地方:
1.strtotime()中所计算的时间戳应该是完整的一个格式,把一个单独的年或月放进去是没有用的。
2.if语句中的条件里面,不是赋值,是等于!!!,要写 两个==。这地方太容易给忽略了。
3.原本打印的日期一直都是周日和一号对应。但是月份不同,这个日期和星期的对应关系也会有所改变,所以,在for循环中将$i-$week.就可以将当月的所有日期后退一定时间,达到日期与星期的完美对应。
4.在实现上一月和下一月的功能时,将几个变量作为参数带入,再配合一定的算法就能搞定了。具体的就看代码吧,文字也得再好也不如看两行代码效果好。
2 0
- PHP实例————万年历
- VB —万年历实例 (2)
- VB实例 —万年历 (3)
- VB实例 —万年历 (1)
- Java语言——万年历
- 寒假——万年历——答辩会
- Java试水题目—万年历
- 20141108 【 单片机——万年历DS1302——中断 】 用DS1302模块 & 数码管显示万年历
- PHP实例二之简单的万年历
- PHP实现简单的万年历(实例)
- 第一次写的java程序——万年历表
- 中华万年历——开启个人数据存储新纪元
- 本科项目——51单片机多功能万年历
- JAVA的图形用户界面练习——万年历的制作
- c语言 万年历加时钟——tc 编译
- JAVA的图形用户界面练习——万年历的制作
- php 万年历
- php万年历
- 2013-09-07
- latex图像竖排
- 视觉码公司推出人人网应用动态视觉二维码
- poj3659 dfs+贪心
- 何去何从
- PHP实例————万年历
- 上传文件到github的方法(clone pull push)
- vim bundle管理插件
- C语言练习4
- Leetcode 细节实现 Length of Last Word
- xml sax localName和qName的区别
- C++ 排序
- PHP环境搭建:Ubuntu系统配置Apache+MySQL+PHP
- 正则表达式