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; //数据/命 ...
随机推荐
- 一篇文章带你了解JavaScript中的语法,数据类型,流程控制语句以及函数
作者 | Jeskson 来源 | 达达前端小酒馆 1 JavaScript有多重要啊,才能让我说说一下,其中的语法,操作符,数据类型,内置功能等. 语法: 在JavaScript中的变量,函数名和操 ...
- handy源码阅读(五):PollerBase类
使用poll内核函数等待事件发生: struct PollerBase: private noncopyable { int64_t id_; int lastActive_; PollerBase( ...
- React Native 之组件的定义
App.js 也可以认为是一个组件,那么此文件中能定义多个组件吗? 方式一 import Hello from './Hello' export default class App extends C ...
- BZOJ 1733: [Usaco2005 feb]Secret Milking Machine 神秘的挤奶机 网络流 + 二分答案
Description Farmer John is constructing a new milking machine and wishes to keep it secret as long a ...
- SpringCloud 教程 (三)高可用的服务注册中心
一.准备工作 Eureka can be made even more resilient and available by running multiple instances and asking ...
- 封装类和非封装类比较相同不int和Integer
A.所有和int(非封装类比较的,只要数值相同就行) B.io3由valueof弄出来的,所以和io1相同 C.io4是new出来的,所以地址不一样,就不相同 D.和A相同
- 安装完Fedora 18后需要做的事情
折腾了好久,在网上查看了好多资料,总算吧安装好的Fedora 18配置得差不多了,现在将过程记录下来,供以后查看用,同时也许还能帮助到和我遇到同一问题的朋友们,以后再有什么再继续添加吧. 一.添加 y ...
- jQuery .ready()
https://www.w3schools.com/jquery/event_ready.asp Example Use ready() to make a function available af ...
- 像计算机科学家一样思考python-第4章 案例研究:接口设计
系统环境 ubuntu18 4.1turtle模块 模块一开始导入turtle模块就报错了 Python ( , ::) [GCC ] on linux Type "help", ...
- Delphi XE2 之 FireMonkey 入门(19) - TFmxObject 的子类们(表)
参考: 和 FMX 相关的类(表) TFmxObject IFreeNotification TAnimation TBitmapAnimation TBi ...