php编辑日历,【PHP】制作日历

本期本博主将讲述两种利用PHP制作日历的方法,由于PHP日期函数的便捷性,使得我们制作日历这一过程变得相当简单

问题描述:

1、取到当前日期,并着色显示;

2、根据当前日期,判断本月有多少天,一号是周几;

3、完成本月日历显示

方法一,自动取到当前日期,代码如下

date_default_timezone_set("PRC");

$time = getdate();

$mday = $time["mday"];

$mon = $time["mon"];

$year = $time["year"];

if($mon==4||$mon==6||$mon==9||$mon==11){

$day = 30;

}elseif($mon==2){

if(($year%4==0&&$year%100!=0)||$year%400==0){

$day = 29;

}else{

$day = 28;

}

}else{

$day = 31;

}

$w = getdate(mktime(0,0,0,$mon,1,$year))["wday"];

$date = function($day,$w){

echo "

echo "

星期日星期一星期二星期三星期四星期五星期六";

$arr = array();

for($i=1;$i<=$day;$i++){

array_push($arr,$i);

}

if($w>=1&&$w<=6){

for($m=1;$m<=$w;$m++){

array_unshift($arr,"");

}

}

$n=0;

for($j=1;$j<=count($arr);$j++){

$n++;

if($n==1) echo "

";

global $mday;

if($mday==$arr[$j-1]){

echo "

".$arr[$j-1]."";

}else{

echo "

".$arr[$j-1]."";

}

if($n==7){

echo "

";

$n=0;

}

}

if($n!=7)echo "";

echo "

";

};

$date($day,$w);

运行结果如下

d55a71f6b3f81bc7b3f515acaa3f4fd0.gif

方法二,指定当前日期,代码如下

//此处为时间输入

echo "          

          当前时间戳为:";

echo $today=mktime(9,34,56,06,02,2017);

echo "";

echo "";

$r=date("L",$today);//润平年

$w=date("N",$today);//星期

$m=date("n",$today);//月份

$d=date("j",$today);

if($m==1||$m==3||$m==5||$m==7||$m==8||$m==10||$m==12){

$days=31;

}elseif($m==4||$m==6||$m==9||$m==11){

$days=30;

}elseif($m==2){

if($r==1){

$days=29;

}else{

$days=28;

}

}else{

echo "日期有误!!!";

}

$day=1;

$week=0;

$count=($days+$w)/7;

echo "

echo <<

星期天星期一星期二星期三星期四星期五星期六

th;

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

echo "

";

for($j=0;$j<7;$j++){

if(($week$days)){

echo "

";

$week++;

}else{

if($day==$d){

echo "

{$day}";

$day++;

}else{

echo "

{$day}";

$day++;

}

}

}

if($day>$days){

break;

}

echo "

";

}

echo "

";

echo "";

echo "          当前时间为:";

echo date("Y-m-d H:i:s 星期N a",$today);

运行结果如下图

5168279ed7183764dbb2cd5421f0640d.gif

效果完美,而后在前两者的基础上稍加改进就可以得到万年历,PHP功能就是如此强大

代码实现感谢@浩神@Q的前端世界两位大神

未经允许不得转发!!!

CSS3制作日历

目标是制作如下面DEMO显示的一个日历效果: HTML Markup 先来看看其结构:

基于jQuery日历插件制作日历

这篇文章主要介绍了基于jQuery日历插件制作日历的相关资料,需要的朋友可以参考下 来看下最终效果图吧: 是长得丑了一点,不要吐槽我-.- 首先来说说这个日历主要的制作逻辑吧: ·一个月份最多有31天 ...

LayUI制作日历工作记录簿

标题不知道该如何取,大概就是用Lay UI的Table,制作一个日历,在日历上可以添加每天的工作简记录.记录下LayUI Table的一些用法,一些值得探索的地方在于日历生成后,给周末加背景色,当天加 ...

用java制作日历,想休息的时候看一看离周末还有几天!

呀!忙碌的每一天,都忘记了明天就是我们愉快周末了.今天没有朋友的闲聊的话,明天处在绷紧的状态呢!还有朋友提到,所有今天来跟大家分享一下用java来编写日历表,累了想休息了的时候,打开看看,还有几天到周 ...

swift 日历的制作

制作日历步骤 1.日期数据的处理,这个可以 添加 extension 解决 extension NSDate{ /*几年几月 这个月的多少天*/ class func getDaysInMonth( ...

CSS3制作

目标是制作如下面DEMO显示的一个日历效果: HTML Markup 先来看看其结构:

PHP完成一个日历

今天我们就用php中的数组合date 做一个日历. 先让我们回顾一下PHP里面的date . 1.时间戳:表示从计算机元年/UNIX纪年(0时区 1970/1/1 00:00:00)到当前事件的秒数. ...

Javascript学习笔记

Javascript 2016年12月19日整理 JS基础 Chapter1 JS是一门运行在浏览器客户端的脚本编程语言,前台语言 组成部分 1. ECMAscript JS标准 2. DOM 通过J ...

jQuery Mobile 列表内容

jQuery Mobile 列表缩略图 对于大于 16x16px 的图像,请在链接中添加 元素. jQuery Mobile 将自动把图像调整至 80x80px: 实例: &l ...

随机推荐

MongoDB3&period;0&period;x版本用户授权配置&lpar;单机环境&rpar;

MongoDB数据库默认情况下是没有做权限控制的,只要能够连接所开放的端口就能进行访问,而且拥有root级别的权限:对于生产环境而言是极不安全的,所以需要建立用户,进行授权控制. 单机环境下的用户授权 ...

解压版MySQL安装说明

一.复制my.ini到MySQL解压的目录 例如:E:\MySQL 二.修改my.ini第39~40行 basedir = "E:\\MySQL" datadir = " ...

AppInventor学习笔记(五)&mdash&semi;&mdash&semi;瓢虫快跑应用学习

一.瓢虫引入 1:加入控件: 先引入方框中含有的控件,里面有两个画布,一个图像精灵,一个重力感应,一个时钟(设为10Ms).顺手改名.设置图像精灵的移动speed为10,并且引入瓢虫的图像 2.加入逻 ...

Listview实现分页下载

分析: * 1.初始控件,展示第一页数据 * 2.设置触发条件 * 1.设置滚动监听 * 2.判断是否在底部 * 3.判断是否停止滚动 * 4.更改网络请求参数为下一页 * 5.异步网络请求 * 6. ...

在线试听功能&lpar;前端直接略过吧,适合javaEE后台开发的&rpar;

应用场景:录音试听,MP3试听... 比如为客户提供录音功能时.客户希望录音完成试听录音,然后下载等功能.直接上代码:关键是取得录音的在服务器的地址,如:url='http://localhost:8 ...

【easy】784&period; Letter Case Permutation

Examples: Input: S = "a1b2" Output: ["a1b2", "a1B2", "A1b2", ...

Android Studio编译卡死

首先,用AS,你必须fanqiang,其它都是次要的. AS/bin/*.exe.vmoptions ## *DO NOT* modify this file directly. If there i ...

校园电商项目3&lpar;基于SSM&rpar;——配置Maven

步骤一:添加必要文件夹 先在src/main/resources下添加两个文件夹 接着在webapp文件夹下添加一个resources文件夹存放我们的静态网页内容 WEB-INF里的文件是不会被客户端 ...

SkylineGlobe 6&period;6 版本API更新

TEPro6.6API更新 概述 API6.6 较6.5只做了微小的更新,您可以很容易的将6.5的应用程序移植为6.6版本的应用程序. C#环境中,修改步骤如下: 创建SGWorld66实例代替SGW ...

adb shell dumpsys meminfo &lbrack;packagename&rsqb; 输出内容的含义

Private Dirty:私有的脏内存页(还在使用中)的大小:   Private Clean:私有的干净内存页(现在未使用了)的大小: 以上这二者相加,便是应用曾经申请过的内存空间大小.Priva ...

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值