1 <?php
 2     /***********************
 3     ***    功能:万年历     ***
 4     ***    时间:2015/05/23 ***
 5     ***********************/
 6
 7     //1、获取日期信息年和月(默认为当前年和当前月)
 8     error_reporting(E_ALL && (~E_NOTICE));
 9     $year = $_GET["y"] ? $_GET["y"] : date("Y");
10     $mon = $_GET["m"] ? $_GET["m"] : date("m");
11
12     //2、计算出当前月有多少天和本月1号是星期几
13     $day = date("t",mktime(0,0,0,$mon,1,$year));//获取对应的天数
14     $w = date("w",mktime(0,0,0,$mon,1,$year));//获取当月1号是星期几
15
16     //3、输出日期的头部信息(标题和表头)
17     echo "<center>";
18     echo "<h1>{$year}年{$mon}月</h1>";
19     echo "<table width = '600' border = '1'>";
20     echo "<tr>";
21     echo "<th style = 'color : red'>星期日</th>";
22     echo "<th>星期一</th>";
23     echo "<th>星期二</th>";
24     echo "<th>星期三</th>";
25     echo "<th>星期四</th>";
26     echo "<th>星期五</th>";
27     echo "<th style = 'color : green'>星期六</th>";
28     echo "</tr>";
29
30
31     //4、循环遍历输出日期信息
32     $dd = 1;//定义一个循环的天数
33     while($dd <= $day){
34         echo "<tr>";
35         //输出一周的信息该输出日期的时候,或已经日期溢出时,输出的都是空单元格
36         for($i = 0;$i < 7;$i ++){
37             //当还没有到
38             if(($w > $i && $dd == 1) || $dd > $day){
39                 echo "<td>&nbsp;</td>";
40             }else{
41                 echo "<td>{$dd}</td>";
42                 $dd ++;
43             }
44
45
46             //若没有输出完日期dd信息
47             /* if($dd <= $day && ($w <= $i || $dd != 1)){
48                 echo "<td>{$dd}</td>";
49                 $dd ++;
50             }else{
51                 echo "<td>&nbsp;</td>";
52             } */
53         }
54         echo "</tr>";
55     }
56
57
58     echo "</table>";
59
60
61     //5、输出上一月和下一月的超级链接
62     //处理上一月和下一月的信息
63     $prey = $nexty = $year;
64     $prem = $nextm = $mon;
65     if($prem <= 1){
66         $prem = 12;
67         $prey --;
68     }else{
69         $prem --;
70     }
71     if($nextm >= 12){
72         $nextm = 1;
73         $nexty ++;
74     }else{
75         $nextm ++;
76     }
77     echo "<h4><a href = 'wannianli.php?y={$prey}&m={$prem}'>上一月</a>&nbsp;&nbsp;&nbsp;&nbsp;";
78
79     echo "<a href = 'wannianli.php?y={$nexty}&m={$nextm}'>下一月</a></h4>";
80
81
82     echo "</center>";

转载于:https://www.cnblogs.com/banshaohuan/p/4525357.html

PHP实现简单的万年历相关推荐

  1. php做万年历思路,使用PHP制作一个简单的万年历

    使用PHP制作一个简单的万年历 1.使用PHP制作日历的思路 制作一个选择下拉列表框,实现对选择年月的判断: 显示当前时间,并制作日历的头部: new一个Calendar类,实现获取日历的边界值.计算 ...

  2. 使用PHP制作一个简单的万年历

    使用PHP制作一个简单的万年历 1.使用PHP制作日历的思路 制作一个选择下拉列表框,实现对选择年月的判断: 显示当前时间,并制作日历的头部: new一个Calendar类,实现获取日历的边界值.计算 ...

  3. 用java做一个简单的万年历

    一个简单的万年历制作 简单介绍万年历的各功能实现: 1.首先键盘输入查询的年份和月份 Scanner sc = new Scanner(System.in); System.out.println(& ...

  4. 使用JavaScript写一个简单的万年历(动态的电子时钟)

    最近一直在自学JavaScript,前些日子写了一个动态的电子钟,过程还是比较简单的,主要使用了JavaScript的内置对象--Date对象,它的常用方法包括以下几个: getDate():返回一个 ...

  5. [C]利用蔡勒公式简单实现万年历

    测试代码 #include<stdio.h>/**蔡勒公式0-星期日,1-星期一,2-星期二,3-星期三,4-星期四,5-星期五,6-星期六 **/int getDayOfWeek(int ...

  6. 万年历查询系统理解与功能增添

    万年历查询系统 在软件工程综合实践专题课上,老师让我们分析之前做过的小程序,重构小部分代码,满足客户的需求,通过理解需求,设计,开发,回归测试去读程,评价并增添新的功能. 这是我在脚本之家查到的一个万 ...

  7. c语言 万年历 蔡勒公式,C++实现简易万年历

    本文实例为大家分享了C++实现简易的万年历,供大家参考,具体内容如下 代码如下: /* *文件名称:万年历.cpp *作 者:chenghan *完成日期:2019/1/10 *版 本 号:1.0 * ...

  8. python万年历实验报告_Python编程——万年历

    2017年五月份日历 万年历这个题目几乎是不论学哪种编程语言必要尝试的一个小知识,综合了循环,逻辑关系判断等各编程语言的基础知识.今天我们一起用Python实现简单的万年历功能(查看某年各个月份日历和 ...

  9. python编写万年历程序

    好的,下面是编写万年历程序的一些建议. 首先,你可以使用 Python 的 calendar 模块来获取每个月的日历信息.这个模块提供了很多有用的函数,例如 isleap 函数可以用来判断某一年是否是 ...

最新文章

  1. 关于域用户的离线缓存登录知识分享
  2. docker 开启remote api
  3. 贝叶斯统计:Tweedie公式及其证明
  4. java nfa dfa_DFA与NFA
  5. YaoCCAD软件中设置坐标原点
  6. 改造一下jeecg中的部门树
  7. 科学院开放资源github_什么是开放科学?
  8. 【Kubernetes】 configmaps is forbidden User system:anonymous cannot list resource configmaps
  9. SCPPO(六):源代码管理工具---Team Foundation Server
  10. 转换php script类型,ECMAScript 类型转换
  11. 【每日算法Day 99】你们可能不知道只用20万赢到578万是什么概念
  12. 错题分析--ASP.NET
  13. 工程量计算稿1.54安装教程 v1.54pjb
  14. 【人机交互技术】Web界面设计
  15. mybatis 小于号转义
  16. navicat连接mysql2003错误_navicat连接失败出现2003怎么办
  17. 《点满舔狗相关技能以后,不知为何就转码了》之YOLOP,YOLOPV2推理入门教学
  18. matlab音乐实训心得,matlab实训心得体会
  19. 【好东西一定要转】关于Solaris安全配置的转贴和讨论
  20. ubuntu的换源问题

热门文章

  1. MFC界面库BCGControlBar v33.0 - Docking Pane、仪表盘组件升级
  2. Floyd算法【图解证明】
  3. SAP MM模块一些表
  4. Rails中嵌套表单的解决
  5. 两块串口硬盘从盘不识别
  6. 反恐精英的服务器存在哪个文件夹,反恐精英地图放在哪里?CS1.6地图放置位置详细介绍...
  7. 解决飞秋在Windows7经常卡死
  8. react-store
  9. 聚类算法模型评价指标
  10. 博士申请 | 荷兰埃因霍芬理工大学武垚欣老师招收深度学习方向博士生