php如何实现万年历的开发(每日一课真是非常有效率)
php如何实现万年历的开发(每日一课真是非常有效率)
一、总结
一句话总结:
1、判断每月有多少天:
通过data函数来判断,$days=date('t',$firstday);
2、判断每月的第一天是星期几:
还是 通过data函数来判断,$week=date('w',$firstday);
3、如何获取某年某月某日对应的时间戳:
通过strtotime函数来得到,$firstday=strtotime("{$year}-{$month}-1");
4、如何实现上一月下一月操作:
get方式传递参数,把年和月作为参数传过去。
1、如何判断每月有多少天?
解答:通过data函数来判断,$days=date('t',$firstday);。
2、如何判断每月的第一天是星期几?
解答:还是 通过data函数来判断,$week=date('w',$firstday);。
3、如何获取某年某月某日对应的时间戳?
解答:通过strtotime函数来得到,$firstday=strtotime("{$year}-{$month}-1");。
4、php万年历脚本如何实现上一月下一月操作?
解答:get方式传递参数,把年和月作为参数传过去。
5、html中的php代码应该如何放置?
解答:若非逼不得已插入html代码中,可以找一块区域放php代码。
6、php如何获取get方式传过来的参数,比如y?
解答:$_GET['y']。
7、php代码如何内嵌入html中?
解答:正常的php代码的格式即可,<?php ?>,<h2>万年历-<?php echo $year ?>年<?php echo $month ?>月</h2>。
8、php万年历如何在每月1号的前面把该空出来的格子空出来?
解答:把他们依次看成0,-1,-2,-3等等,然后i从(1-$week)开始取$i=(1-$week);,然后那些小于1对应的格子td里面就输出空格就好。
9、如何get方式传参数?
解答:url?y=3&m=3。
10、php如何实现动态传参数?
解答:加php代码<?php ?>即可,然后echo出参数,<a href="datenew.php?y=<?php echo $prevyear ?>&m=<?php echo $prevmonth ?>">上一月</a>。
二、php实现万年历的开发
截图

代码
<?php
//当前年
$year=$_GET['y']?$_GET['y']:date('Y'); //当前月
$month=$_GET['m']?$_GET['m']:date('m'); //当前月1号的时间戳
$firstday=strtotime("{$year}-{$month}-1"); //当前月天数
$days=date('t',$firstday); //当前月1号是周几
$week=date('w',$firstday); //下一年和下一月
$nextyear=$year;
$nextmonth=$month+1;
if($nextmonth>12){
$nextyear=$year+1;
$nextmonth=1;
} //上一年和上一月
$prevyear=$year;
$prevmonth=$month-1;
if($prevmonth<1){
$prevyear=$year-1;
$prevmonth=12;
} ?>
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>index</title>
<style>
*{
font-family: 微软雅黑;
} a{
text-decoration: none;
color:#55f;
}
</style>
</head>
<body>
<center>
<h2>万年历-<?php echo $year ?>年<?php echo $month ?>月</h2>
<table border='1px' cellspacing='0' width='700px'>
<tr>
<th>周日</th>
<th>周一</th>
<th>周二</th>
<th>周三</th>
<th>周四</th>
<th>周五</th>
<th>周六</th>
</tr> <?php
for($i=(1-$week);$i<=$days;){
echo '<tr>';
for($j=0;$j<7;$j++,$i++){
if($i>$days || $i<1){
echo "<td> </td>";
}else{
echo "<td>{$i}</td>";
}
}
echo '</tr>';
}
?>
</table>
<h3>
<a href="datenew.php?y=<?php echo $prevyear ?>&m=<?php echo $prevmonth ?>">上一月</a> |
<a href="datenew.php?y=<?php echo $nextyear ?>&m=<?php echo $nextmonth ?>">下一月</a>
</h3>
</center>
</body>
</html>
三、测试题-简答题
1、如何判断每月有多少天?
解答:通过data函数来判断,$days=date('t',$firstday);。
2、如何判断每月的第一天是星期几?
解答:还是 通过data函数来判断,$week=date('w',$firstday);。
3、如何获取某年某月某日对应的时间戳?
解答:通过strtotime函数来得到,$firstday=strtotime("{$year}-{$month}-1");。
4、php万年历脚本如何实现上一月下一月操作?
解答:get方式传递参数,把年和月作为参数传过去。
5、html中的php代码应该如何放置?
解答:若非逼不得已插入html代码中,可以找一块区域放php代码。
6、php如何获取get方式传过来的参数,比如y?
解答:$_GET['y']。
7、php代码如何内嵌入html中?
解答:正常的php代码的格式即可,<?php ?>,<h2>万年历-<?php echo $year ?>年<?php echo $month ?>月</h2>。
8、php万年历如何在每月1号的前面把该空出来的格子空出来?
解答:把他们依次看成0,-1,-2,-3等等,然后i从(1-$week)开始取$i=(1-$week);,然后那些小于1对应的格子td里面就输出空格就好。
9、如何get方式传参数?
解答:url?y=3&m=3。
10、php如何实现动态传参数?
解答:加php代码<?php ?>即可,然后echo出参数,<a href="datenew.php?y=<?php echo $prevyear ?>&m=<?php echo $prevmonth ?>">上一月</a>。
php如何实现万年历的开发(每日一课真是非常有效率)的更多相关文章
- 转:【iOS开发每日小笔记(十一)】iOS8更新留下的“坑” NSAttributedString设置下划线 NSUnderlineStyleAttributeName 属性必须为NSNumber
http://www.bubuko.com/infodetail-382485.html 标签:des class style 代码 html 使用 问题 文件 数据 ...
- PHP Filesystem 函数(文件系统函数)(每日一课的内容可以从php参考手册上面来)
PHP Filesystem 函数(文件系统函数)(每日一课的内容可以从php参考手册上面来) 一.总结 1.文件路径中的正反斜杠:当在 Unix 平台上规定路径时,正斜杠 (/) 用作目录分隔符.而 ...
- shopnc 二次开发 每日签到积分领取
/* 开始shopnc!!!!! url:xxx.com/index.php?act=index&op=userjf 一个四线城市的半吊子程序员~ 实现:前台模板文件 随便加入<a> ...
- 敏捷开发每日报告--day4
1 团队介绍 团队组成: PM:齐爽爽(258) 小组成员:马帅(248),何健(267),蔡凯峰(285) Git链接:https://github.com/WHUSE2017/C-team 2 ...
- 敏捷开发每日报告--day5
1 团队介绍 团队组成: PM:齐爽爽(258) 小组成员:马帅(248),何健(267),蔡凯峰(285) Git链接:https://github.com/WHUSE2017/C-team 2 ...
- 【Android开发】 第一课 环境搭建教程
Windows 开发环境部署: Android Studio 中文社区:http://www.android-studio.org/ 本教程将分为五个步骤来完成Android开发环境的部署. 第一步: ...
- 阶段2-新手上路\项目-移动物体监控系统\Sprint4-嵌入式web服务器开发\第3课-CGI程序开发
实现CGI程序显示一幅图片最核心的功能 把上一节课编写好的led.c程序拷贝过来,并重新命名为image.c 把led的某些部分删除,后如下 那么如何显示一幅图片呢,百度(搜索在html里面去插入图片 ...
- Python开发 第01课 Python 简介
一.Python 介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为AB ...
- 深入浅出CChart 每日一课——快乐高四第九课 于无声处,CChart内置功能介绍之数据存取篇
笨笨长期以来一直使用Origin软件画图和处理数据,但Origin软件没有编程语言的接口.笨笨开发CChart的一个潜在的目标.是想实现Origin软件的功能.当然这是一个不可能达到的目标.Origi ...
随机推荐
- 关于查看域名A记录,MX记录,CNAME记录-NSLOOKUP用法介绍
关于查看域名A记录,MX记录,CNAME记录-NSLOOKUP用法介绍 用ping查看域名的IP地址,这样只能查到域名的A记录,要查询域名的MX记录.CNAME记录或NS记录,可用nslookup命令 ...
- eclipse-12.04无图标,无法固定到侧边栏
今天下载了adt-bundle,但是eclipse打开以后,侧边栏显示的是一个问好,而且没办法固定到侧边栏,导致每次打开eclipse都要进入到相应目录,很麻烦.我们可以通过如下方法设置eclipse ...
- SQL-android uri的使用(转载)
今天在操作android的时候,用到了数据库的访问,就在网上学习了一下关于数据库的知识.其中访问数据库就是通过uri进行的,所以这里总结下android uri的应用. 以下内容参考http://ww ...
- Android学习笔记之按键操作
我们如何和Android 程序来进行交互那份?来让 Android 程序产生相应的反应,我们不得不通过键盘事件.触摸事件.传感器事件等来实现. 键盘是Android中主要的输入设备,对按键的响应的处理 ...
- ASP.NET MVC案例教程(基于ASP.NET MVC beta)——第五篇:MVC整合Ajax
摘要 本文将从完成“输入数据验证”这个功能出发,逐渐展开ASP.NET MVC与Ajax结合的方法.首先,本文将使用ASP.NET MVC提供的同步方式完成数据验证.而后,将分别结合ASP. ...
- MyBatis学习总结(15)——定制Mybatis自动代码生成的maven插件
==================================================================================================== ...
- apache+nginx 实现动静分离
apache+nginx 实现动静分离 http://blog.csdn.net/xysoul/article/details/50347971
- HDU——T 3501 Calculation 2
http://acm.hdu.edu.cn/showproblem.php?pid=3501 Time Limit: 2000/1000 MS (Java/Others) Memory Limi ...
- hdu5389
题意:给你n个人每一个人手里有一个id,然后给你两个数a和b.让你把n个人分为两组.条件是 一组人手里的id和等于a 另一组人的id和等于b,这里的和是指加起来之后对9取余,假设sum等于0 则sum ...
- usr/bin/mysqladmin: refresh failed; error: 'Unknown error'
debian wheezy 升级后, 由于授权错误, 导致password给改动, 在debian的mysql safe下也无法进入. 我在/etc/mysql/my.cnf 里面已经改动了bin ...