PHP实现简单的万年历
<?php
/***********************
*** 功能:万年历 ***
*** 时间:2015/05/23 ***
***********************/ //1、获取日期信息年和月(默认为当前年和当前月)
error_reporting(E_ALL && (~E_NOTICE));
$year = $_GET["y"] ? $_GET["y"] : date("Y");
$mon = $_GET["m"] ? $_GET["m"] : date("m"); //2、计算出当前月有多少天和本月1号是星期几
$day = date("t",mktime(0,0,0,$mon,1,$year));//获取对应的天数
$w = date("w",mktime(0,0,0,$mon,1,$year));//获取当月1号是星期几 //3、输出日期的头部信息(标题和表头)
echo "<center>";
echo "<h1>{$year}年{$mon}月</h1>";
echo "<table width = '600' border = '1'>";
echo "<tr>";
echo "<th style = 'color : red'>星期日</th>";
echo "<th>星期一</th>";
echo "<th>星期二</th>";
echo "<th>星期三</th>";
echo "<th>星期四</th>";
echo "<th>星期五</th>";
echo "<th style = 'color : green'>星期六</th>";
echo "</tr>"; //4、循环遍历输出日期信息
$dd = 1;//定义一个循环的天数
while($dd <= $day){
echo "<tr>";
//输出一周的信息该输出日期的时候,或已经日期溢出时,输出的都是空单元格
for($i = 0;$i < 7;$i ++){
//当还没有到
if(($w > $i && $dd == 1) || $dd > $day){
echo "<td> </td>";
}else{
echo "<td>{$dd}</td>";
$dd ++;
} //若没有输出完日期dd信息
/* if($dd <= $day && ($w <= $i || $dd != 1)){
echo "<td>{$dd}</td>";
$dd ++;
}else{
echo "<td> </td>";
} */
}
echo "</tr>";
} echo "</table>"; //5、输出上一月和下一月的超级链接
//处理上一月和下一月的信息
$prey = $nexty = $year;
$prem = $nextm = $mon;
if($prem <= 1){
$prem = 12;
$prey --;
}else{
$prem --;
}
if($nextm >= 12){
$nextm = 1;
$nexty ++;
}else{
$nextm ++;
}
echo "<h4><a href = 'wannianli.php?y={$prey}&m={$prem}'>上一月</a> "; echo "<a href = 'wannianli.php?y={$nexty}&m={$nextm}'>下一月</a></h4>"; echo "</center>";
PHP实现简单的万年历的更多相关文章
- 用java进行简单的万年历编写
import java.util.Scanner; public class PrintCalendarDemo1 { public static void main(String[] args) { ...
- iOS:选择器控件UIPickerView的详解和演示
选择器控件UIPickerView: 功能:它能够创建一个类似于密码锁式的单列或多列的选择菜单,用户可以通过它设置的代理来选择需要菜单中的任意的数据.例如创建日历.字体表(类型.大小.颜色).图库等. ...
- JAVA上百实例源码以及开源项目
简介 笔者当初为了学习JAVA,收集了很多经典源码,源码难易程度分为初级.中级.高级等,详情看源码列表,需要的可以直接下载! 这些源码反映了那时那景笔者对未来的盲目,对代码的热情.执着,对IT的憧憬. ...
- JAVA上百实例源码网站
JAVA源码包1JAVA源码包2JAVA源码包3JAVA源码包4 JAVA开源包1 JAVA开源包2 JAVA开源包3 JAVA开源包4 JAVA开源包5 JAVA开源包6 JAVA开源包7 JAVA ...
- 火狐浏览器高度&制作简单万年历&弹出层
浏览器高度: FireFox中: document.body.clientWidth ==> BODY对象宽度 document.body.clientHeight ==> BODY对象高 ...
- Java_万年历(简单)
1.方法,需要一个年份,一个月份.然后在控制台输出日历 // 输入一个年份和一个月份显示日历 public static void printCalendar(int year, int month) ...
- js万年历,麻雀虽小五脏俱全,由原生js编写
对于前端来说,我们可能见到最多的就是各种各样的框架,各种各样的插件了,有各种各样的功能,比如轮播啊,日历啊,给我们提供了很大的方便,但是呢?我们在用别人这些写好的插件,框架的时候,有没有试着问一问自己 ...
- Java基本语法_循环练习系列(二)——万年历
写万年历大致可以分为以下几个步骤: 1.根据用户输入的年份判断该年是否是闰年. 2.根据用户输入的月份计算该月的天数. 3.计算输入的年份之前的总天数. 4.计算输入的月份之前的天数. 5.计算该月的 ...
- 基于51单片机个LCD1602的万年历程序
小白 第一次跟新博客 基于51单片机和LCD1602的万年历程序 可实现走时和调时功能 有简单的1602菜单制作 欢迎大家交流 LCD1602和51单片机的连接方法 RS = P3^5; //数据/命 ...
随机推荐
- python补充之进制转换、exec、eval、compile
目录 eval.exec和compile 1.eval函数 2.exec函数 eval()函数和exec()函数的区别 python中的进制转换 eval.exec和compile 1.eval函数 ...
- js加密php解密(CryptoJS)碰到的坑
今天做了一个功能,需要js传密码到php文件,对js密码 进行判断,为想为这个传输过程进行解密,参考了网上的一个方法(这个方法我只是使用了,并没有太深了解0.0) 首先要引入3个js文件 (在网上可搜 ...
- Activiti的分配任务负责人(八)
1分配任务负责人 1.1 固定分配 在进行业务流程建模时指定固定的任务负责人 在 properties 视图中,填写 Assignee 项为任务负责人.注意事项由于固定分配方式,任务只管一步一步执行任 ...
- Oracle Between子句
Oracle Between子句 作者:初生不惑 Oracle基础 评论:0 条 Oracle技术QQ群:175248146 在本教程中,您将学习如何使用Oracle BETWEEN运算符来选择值在一 ...
- CSS设置透明背景
filter: alpha(opacity=40); background-color: rgb(0, 0, 0); background-color: rgba(0, 0, 0, 0.4); 通过改 ...
- leetcode-mid-array-73 set matrix zeros
mycode 空间复杂度 m+n 思路:用set把为0元素所在行.列记录下来 注意:注释的方法更快 class Solution(object): def setZeroes(self, matrix ...
- react 类样式的一些使用方法
在 css类不想使用穿透的状态,可以再webpack配置 modules:true,它位于css-loader下,此外调用css的类时可能会自动生成一个hash值,这时候如果想显示本来的名字,可以打 ...
- 查看在linux中下载的图片
1.安装 yum install lrzsz -y 2.找到文件所在的位置选中之后 3.点击那个蓝色的框框里面有一个 用ZMODEM下载 4.选择要保存的位置就可以查看了
- ES与CQRS之旅
引言 领域驱动设计(Domain Driven Design),使用统一的建模语言.专注业务领域分析.采取化整为零并反复迭代的方式,以业务领域模型为圆心,向外辐射到系统轮廓的勾勒.具体模块的实现,为我 ...
- django 给数据库批量添加数据
from .models import Book import random def index(request): book_list = [] for i in range(1, 101): bo ...