PHP如何实现简单日历类编写?本篇文章小编给大家分享一下PHP实现简单日历类编写代码,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。

代码如下:

calendar.class.php

year = isset($_GET['year'])?$_GET['year']:date("Y");

$this->month = isset($_GET["month"])?$_GET["month"]:date("m");

$this->first_week = date("w", mktime(0, 0 ,0, $this->month, 1, $this->year));

$this->day = date("t", mktime(0, 0 ,0, $this->month, 1, $this->year));

}

function showCalendar() {

// echo $this->year."年".$this->month."月".$this->first_week."天".$this->day;

echo ""; //用表格输出

$this->chageDate("index.php"); //用于用户调整年月份

$this->weekList();//显示星期

$this->dayList(); //显示天数

echo "";

}

//1、显示星期

private function weekList() {

$week = array("日","一","二","三","四","五","六");

echo "

";

for ($i = 0; $i < count($week); $i++) {

echo "".$week[$i]."";

}

echo "";

}

//2.显示天数

private function dayList() {

$color = "#2ca50c";

echo "

";

for ($i = 0; $i < $this->first_week; $i++) { //输出空格,弥补当前月空缺部分

echo "";

}

for ($k = 1; $i <= $this->day; $k++) {

$i++;

if ($k == date("d")) echo "".$k.""; //是今天,加效果

else echo "".$k."";

if ($i % 7 == 0) {

echo "

"; //每7天一次换行

if ($i % 2 == 0) $color = "#2ca50c";

else $color = "#9ddb27"; //实现各行换色的效果

}

}

while ($i % 7 != 0) { //将剩余的空格补完

echo "";

$i++;

}

echo "";

}

//3、用于用户调整天数

private function chageDate($url="index.php") {

echo "

";

echo "".$this->year."年".$this->month."月";

echo "";

echo "

";

echo "";

echo 'month.'\'">';

for ($year = 2038; $year >= 1970; $year--) {

$selected = ($year == $this->year)?"selected":"";

echo ''.$year.'';

//echo ''.$year.'';

}

echo "";

echo 'year.'&month=\'+this.options[selectedIndex].value">';

for($month=1;$month <= 12;$month++){

$selected1 = ($month == $this->month) ? "selected" : "";

echo ''.$month.'';

}

echo '';

echo "";

echo ""."".">>"."";

echo ""."".">"."";

echo "";

}

private function prevYear($year, $month) { //获取上一年的数据

$year--;

if ($year < 1970) $year = 1970;

return "year={$year}&month={$month}";

}

private function prevMonth($year, $month) {

if ($month == 1) {

$year--;

if ($year < 1970) $year = 1970;

$month = 12;

}else $month--;

return "year={$year}&month={$month}";

}

private function nextYear($year, $month) { //获取上一年的数据

$year++;

if ($year > 2038) $year = 2038;

return "year={$year}&month={$month}";

}

private function nextMonth($year, $month) {

if ($month == 12) {

$year++;

if ($year > 2038) $year = 2038;

$month = 1;

}else $month++;

return "year={$year}&month={$month}";

}

}

主页 index.php

日历显示

showCalendar();

?>

编写时间的php,PHP如何实现简单日历类编写 PHP实现简单日历类编写代码相关推荐

  1. php 检验类,php实现的简单检验登陆类

    php实现的简单检验登陆类 发布于 2015-06-22 12:07:05 | 94 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: Hypertext Prepro ...

  2. 用工具测试游戏的平衡性-简单的打架机器人编写

    打架机器人这种东东,一般都是在游戏开发过程中测试用的东西,对于策划圈外的人士接触到这个东西的人很少,不像前面的原型库工具那样,其他行业只要是演示都可以使用,打架机器人的运用频率就少了很多,而且网游里面 ...

  3. 简单的docker-compose编写介绍(包含 nginx+tomcat 实例演示)

    简单的docker-compose编写介绍(包含实例演示) 一.docker compose常用命令 二.docker compose配置常用字段 三.docker compose 演示(tomcat ...

  4. 简单php文件编写语法

    简单php文件编写语法,老是弄错,做个笔记,经常温习下 1 2 3   1 <?php   2 echo "Test PHP reslove"   3 ?> 1 2 3 ...

  5. c语言编写u盘杀毒软件,一个简单的C++编写的u盘病毒代码

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 一个简单的C++编写的u盘病毒代码 一个win32下能用的U盘病毒 研究原理可以 别编译拿去害人就行 (ring3的病毒貌似也害不了人) 前久用IDA逆向 ...

  6. C语言简单程序的编写和调试,上机1--C语言简单程序的编写和调试.doc

    上机1--C语言简单程序的编写和调试.doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印 ...

  7. 一个简单的makefile编写VCS仿真

    一个简单的makefile编写VCS仿真 1 VCS简介 VCS是编译型Verilog模拟器,它完全支持OVI标准的Verilog HDL语言.PLI和SDF. VCS具有行业中较高的模拟性能,其出色 ...

  8. Python基础的学习和简单爬虫的编写

    一.Python基础的学习 观看B站up GenJi是真的想教会你 的视频结合RUNOOB.COM进行学习 二.简单爬虫的编写 爬虫实现的功能: 爬取豆瓣电影top250的电影名称.电影信息.评分.评 ...

  9. 简单stm32程序编写以及调试

    简单stm32程序编写以及调试 一.环境配置 1.MDK的安装 MDK(Microcontroller Development Kit)是针对ARM处理器,特别是Cortex-M内核处理器的最佳开发工 ...

  10. 用简单JAVA语言编写日历

    1.日历需求 键盘录入两个数据 年份和月份 输出当月的日历图 提示:1900年1月1日为星期一 2.日历程序编写思路 1.因为1900年1月1日为星期一,所以我们从1900 1.1开始算 从当天开始到 ...

最新文章

  1. 周长相等的正方形面积一定相等_必考单元:三年级下册面积计算公式+知识点+测试卷(附答案),重点内容,收藏练习!...
  2. 谈谈我对服务熔断、服务降级的理解 专题
  3. Java黑皮书课后题第6章:**6.24(显示当前日期和时间)程序清单2-7显示当前时间。改进这个例子,显示当前的日期和时间。程序清单6-12中的日历例子可以提供一些如何提供如何求年月日的思路
  4. 真实经历:整整一年了,他是这样从程序员转型做产品经理的
  5. php文章列表源码,抓取文章列表
  6. AngularJs HelloWorld
  7. python 结巴分词学习
  8. 20个必不可少的Python第三方库(存干货分享)!
  9. 中国研发经费投入逼近2万亿,保持两位数增速,企业成为主要力量
  10. Compose Modifier修饰符详细解说
  11. 声学感知刻度(mel scale、Bark scale、ERB)与声学特征提取(MFCC、BFCC、GFCC)
  12. mac多开屏幕_Mac系统如何实现多屏显示画面?让Mac系统多屏显示画面的设置方法...
  13. mysql在linux版本信息查询,Linux 查看 MySQL的版本信息
  14. 当虚拟筛选遇上高通量筛选
  15. Fegin工具类以及熔断
  16. 解决invalid url domain
  17. 变压器矿山地坪反应釜用丙烯酸聚硅氧烷面漆 漆膜坚硬耐磨
  18. 通过TXT文件批量生成UPC-A条码
  19. 玩转AndroidStudioIDE
  20. 【生态大会】重要通知!!!倒计时7天,CDEC2019生态大会•上海站,五种“姿势”抢先看~...

热门文章

  1. 浏览器检测 vs 特性检测
  2. asp.net2.0 发布网站选项说明
  3. 5分钟了解分页的那些事?
  4. leetcode-120-Triangle-等腰三角形
  5. asp.net的10个提升性能或扩展性的秘密(一)
  6. 实验:DHCP中继代理
  7. 创建和使用视图及异名
  8. Java设计模式-简单工厂模式(Static Factory Method)
  9. Servlet技术 - Servlet应用
  10. 学习shell的第三天