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 ...
随机推荐
- Windows上安装多个MySQL实例(转)
在学习和开发过程中有时候会用到多个MySQL数据库,比如Master-Slave集群.分库分表,开发阶段在一台机器上安装多个MySQL实例就显得方便不少. 在 MySQL教程-基础篇-1.1-Wind ...
- 代码生成器实现的Entity,Dao,Service,Controller,JSP神器(含代码附件)
package com.flong.codegenerator; import java.sql.Connection; import java.sql.DatabaseMetaData; impor ...
- CentOS经常使用文件操作命令[百度博客搬家]
路径操作的CentOS经常使用命令 如今整理例如以下(百度博客搬家) cd pwd NO1. 显示当前路径 [root@rehat root]# pwd NO2. 返回用户主文件夹 [ro ...
- 1.1 Introduction中 Kafka as a Messaging System官网剖析(博主推荐)
不多说,直接上干货! 一切来源于官网 http://kafka.apache.org/documentation/ Kafka as a Messaging System kafka作为一个消息系统 ...
- .vsdc和.svf用于formal verification tools
svf:Setup Verification for Formality
- Day1:变量
一.变量用来干嘛的 用来存东西的,方便后面调用 二.如何定义变量 name = "Hiuhung Wan" 变量名 = 值,一个等号是赋值号,右边的值赋值给左边 三.变量的一些用法 ...
- OC的DES加密,使与java的Cipher类用DES/CBC/PKCS5Padding方式的加密结果同样
问题说明: 近期用到DES加密,而且要与java的Cipher类加密的结果保持一致.没研究过java的Cliper,但工作中Cipher依据DES/CBC/PKCS5Padding加密方式生成了一个字 ...
- Oracle批量插入在C#中的应用
public void SetUserReportResult(int[] reportId, bool isReceive, string result) { if (reportId == nul ...
- 【习题 5-10 UVA-1597】Searching the Web
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 用map < string,vector < int > >mmap[100];来记录每一个数据段某个字符串 ...
- hdu 5375 Gray code dp
#include<stdio.h> #include<string.h> #include<algorithm> using namespace std; cons ...