<?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>&nbsp;</td>";
}else{
echo "<td>{$dd}</td>";
$dd ++;
} //若没有输出完日期dd信息
/* if($dd <= $day && ($w <= $i || $dd != 1)){
echo "<td>{$dd}</td>";
$dd ++;
}else{
echo "<td>&nbsp;</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>&nbsp;&nbsp;&nbsp;&nbsp;"; echo "<a href = 'wannianli.php?y={$nexty}&m={$nextm}'>下一月</a></h4>"; echo "</center>";

PHP实现简单的万年历的更多相关文章

  1. 用java进行简单的万年历编写

    import java.util.Scanner; public class PrintCalendarDemo1 { public static void main(String[] args) { ...

  2. iOS:选择器控件UIPickerView的详解和演示

    选择器控件UIPickerView: 功能:它能够创建一个类似于密码锁式的单列或多列的选择菜单,用户可以通过它设置的代理来选择需要菜单中的任意的数据.例如创建日历.字体表(类型.大小.颜色).图库等. ...

  3. JAVA上百实例源码以及开源项目

    简介 笔者当初为了学习JAVA,收集了很多经典源码,源码难易程度分为初级.中级.高级等,详情看源码列表,需要的可以直接下载! 这些源码反映了那时那景笔者对未来的盲目,对代码的热情.执着,对IT的憧憬. ...

  4. JAVA上百实例源码网站

    JAVA源码包1JAVA源码包2JAVA源码包3JAVA源码包4 JAVA开源包1 JAVA开源包2 JAVA开源包3 JAVA开源包4 JAVA开源包5 JAVA开源包6 JAVA开源包7 JAVA ...

  5. 火狐浏览器高度&制作简单万年历&弹出层

    浏览器高度: FireFox中: document.body.clientWidth ==> BODY对象宽度 document.body.clientHeight ==> BODY对象高 ...

  6. Java_万年历(简单)

    1.方法,需要一个年份,一个月份.然后在控制台输出日历 // 输入一个年份和一个月份显示日历 public static void printCalendar(int year, int month) ...

  7. js万年历,麻雀虽小五脏俱全,由原生js编写

    对于前端来说,我们可能见到最多的就是各种各样的框架,各种各样的插件了,有各种各样的功能,比如轮播啊,日历啊,给我们提供了很大的方便,但是呢?我们在用别人这些写好的插件,框架的时候,有没有试着问一问自己 ...

  8. Java基本语法_循环练习系列(二)——万年历

    写万年历大致可以分为以下几个步骤: 1.根据用户输入的年份判断该年是否是闰年. 2.根据用户输入的月份计算该月的天数. 3.计算输入的年份之前的总天数. 4.计算输入的月份之前的天数. 5.计算该月的 ...

  9. 基于51单片机个LCD1602的万年历程序

    小白 第一次跟新博客 基于51单片机和LCD1602的万年历程序 可实现走时和调时功能 有简单的1602菜单制作 欢迎大家交流 LCD1602和51单片机的连接方法 RS = P3^5; //数据/命 ...

随机推荐

  1. Linux校园网DNS问题

    问题 我发现在windows下连接校园网后能正常使用网络,可是到了Linux下,连接成功后还是不行 解决 在windows下找到ipv4的配置,然后查看一下那个DNS服务器的ip 在我们成都信息工程大 ...

  2. Gparted for partition of Linux on graphic interface

    You can change the partition table on Linux by a group of tools, which is tool comprehansive for a n ...

  3. IntelliJ IDEA 开发工具的一些设置

    IntelliJ IDEA 开发工具的一些设置 参考资料 IntelliJ IDEA 的学习,离不开网络上技术热爱者们的分享,在此向他们表示感谢. 成吨提高开发效率:https://github.co ...

  4. CSS札记(一):CSS选择器

    一.语法规则 选择器{ 属性1:属性值1; 属性2:属性值2; ...... } /*注释*/ 二.如何在html中应用CSS 1. 外部引用css文件 css文件:css/layout.css(cs ...

  5. Linux shell -查找字符(find,xargs,grep)

    在当前目录下查找含有jmxremote字符的文件 test@>find . -type f|xargs grep "jmxremote" . 当前目录 -type 查找文件类 ...

  6. sql分别用日期、月、年 分组 group by 分组,datepart函数

    标签: datepart函数sql分别用日期月年 分组group by 分组 2013-12-26 15:31 20764人阅读 评论(1) 收藏 举报 分类: SQL Server(21) 版权声明 ...

  7. React-Native 之 GD (十六)首页筛选功能

    1.首页筛选功能 GDCommunalSiftMenu.js /** * 筛选菜单 */ import React, { Component, PropTypes } from 'react'; im ...

  8. C3P0 详解

    定义: C3P0是一个开源的JDBC连接池,目前使用它的开源项目有Hibernate,Spring等. 数据库连接池的基本思想就是为数据库连接建立一个“缓冲池”.预先在缓冲池中放入一定数量的连接,当需 ...

  9. CSS镜像

    https://developer.mozilla.org/en-US/docs/Web/CSS/transform-function/scaleX transform: scaleX(-1);/*左 ...

  10. Week 10 - 474. Ones and Zeroes

    474. Ones and Zeroes In the computer world, use restricted resource you have to generate maximum ben ...