月球-I型,月份日历生成器----基于PHP7.3

  • 生成月份周日的类
<?php
class mycalendar
{function __construct($year,$mon){$this->nianyue=$year.'-'.$mon.'-'.'01';$this->firstday=strtotime(date($this->nianyue));$this->m = intval(date('m',$this->firstday));$this->wdaylist=array();$this->lday = strtotime(date($this->nianyue).'+1 month -1 day');//echo "时间戳:".date('Y-m-d',$this->lday)."\n";
    }function startday(){$w = date('w',$this->firstday);$diffdays=0;if ($w!=0){$diffdays= 7-$w;}$this->firstday = strtotime(date('Y-m-d',strtotime($this->nianyue))."+".$diffdays." day");//array_push($this->wdaylist,$w);//echo "\n".date('Y-m-d',$this->firstday);//echo "\n".$this->firstday;return $this->firstday;}function addwday(){$curday = $this->startday();while (true){if(intval(date('m',$curday)!=$this->m)){break;}//echo date('Y-m-d',$curday)."\n";array_push($this->wdaylist,date('Y-m-d',$curday));$curday=strtotime(date('Y-m-d',$curday)."+7 day");}return $this->wdaylist;}
}
  • 根据每个周日推算每个周的日期
<?php
require('mycal.php');
class gencal
{function __construct(array $wkday){$this->time = strtotime($wkday[count($wkday)-1]);$this->wdaylist=$wkday;$this->ldday= date('m',$this->time);$this->ttday= date('t',$this->time);$this->firstday=strtotime($wkday[0]);}function diffdays(){$lastday = 0;if($this->ldday<$this->ttday){$lastday = strtotime(date('Y-m-d',$this->time)."+1 day");}//echo "this day:".date('Y-m-d',$lastday);return $lastday;}function adddays(){//生成日期辗转相加$genarray = array();$startday = $this->diffdays();//echo $startday."\n";$newday =   date('Y-m-d',strtotime(date('Y-m-d',strtotime($this->wdaylist[count($this->wdaylist)-1]))."+1 day"));//echo 'newday:'. $newday;$genarray[] = $newday;for ($i=1;$i<7;$i++){$startday=strtotime(date('Y-m-d',$startday)."+1 day");$genarray[] = date('Y-m-d',$startday);/*array_push($genarray,strtotime(date('Y-m-d',$startday).'+1 day'));*/}return $genarray;}function minus($startday){//辗转相减法$thisweek=array();$startday =  strtotime($startday);$thisweek[7]=date('Y-m-d',$startday);//echo $startday;for($i=6;$i>0;$i--){$startday=strtotime(date('Y-m-d',$startday)."-1 day");$thisweek[$i]=date('Y-m-d',$startday);//echo date('Y-m-d',$startday)."---"."\n";
        }return $thisweek;}function gendaylist(){$finallist=array();for ($i=0;$i<count($this->wdaylist);$i++){array_push($finallist,$this->minus($this->wdaylist[$i]));}array_push($finallist,$this->adddays());return $finallist;}
}
  • 测试
$cal = new mycalendar(2019,9);
$wuwa= new gencal($cal->addwday());
//$wuwa->adddays();
print_r($wuwa->gendaylist());
  • 输出结果
Array
([0] => Array([7] => 2019-09-01[6] => 2019-08-31[5] => 2019-08-30[4] => 2019-08-29[3] => 2019-08-28[2] => 2019-08-27[1] => 2019-08-26)[1] => Array([7] => 2019-09-08[6] => 2019-09-07[5] => 2019-09-06[4] => 2019-09-05[3] => 2019-09-04[2] => 2019-09-03[1] => 2019-09-02)[2] => Array([7] => 2019-09-15[6] => 2019-09-14[5] => 2019-09-13[4] => 2019-09-12[3] => 2019-09-11[2] => 2019-09-10[1] => 2019-09-09)[3] => Array([7] => 2019-09-22[6] => 2019-09-21[5] => 2019-09-20[4] => 2019-09-19[3] => 2019-09-18[2] => 2019-09-17[1] => 2019-09-16)[4] => Array([7] => 2019-09-29[6] => 2019-09-28[5] => 2019-09-27[4] => 2019-09-26[3] => 2019-09-25[2] => 2019-09-24[1] => 2019-09-23)[5] => Array([0] => 2019-09-30[1] => 2019-10-01[2] => 2019-10-02[3] => 2019-10-03[4] => 2019-10-04[5] => 2019-10-05[6] => 2019-10-06))

 

转载于:https://www.cnblogs.com/saintdingspage/p/11563870.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/409831.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python dict遍历_Python 容器(二):字典(Dict)

Python 容器(二)&#xff1a;字典(Dict)一、字典1、定义&#xff1a;Python的字典数据类型是基于hash散列算法实现的&#xff0c;采用键值对(key:value)的形式&#xff0c;根据key的值计算value的地址&#xff0c;具有非常快的查取和插入速度。2、特点&#xff1a;1&#xff09…

论得失。。。技术方向

得失&#xff0c;一直都是人们所在意的&#xff0c;一旦得那么久开开心心&#xff0c;一旦失。就闷闷不乐&#xff0c;其实不然&#xff0c;中国的词语博大精深。一句舍得。解开了万人的心声。舍得&#xff0c;舍得&#xff0c;没舍哪来得。其实做技术也是一样。往往你在这个领…

[html] 你有了解video的x5-video-player-type这个属性吗?它的作用是什么呢?

[html] 你有了解video的x5-video-player-type这个属性吗&#xff1f;它的作用是什么呢&#xff1f; 这个属性是限制微信的X5 内核的自动播放功能个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目…

路径级别

.. 上一级 ~/根目录转载于:https://www.cnblogs.com/maomiyouai/archive/2012/05/21/2511021.html

奥特曼传奇英雄存档丢了怎么找回_热血传奇:道士最帅武器—玄天

点击“传奇私服玩家群”加个关注☀ 欢迎传奇老司机&#xff01;在这里&#xff0c;分享最新传奇资讯&#xff0c;回忆当年的传奇年代。分享最热传奇手游&#xff0c;端游&#xff0c;找回昔日组队的热血时光。记得加个关注不迷路~☀ 微信公众号&#xff1a;diyisf777热血传奇中…

.Net Core下基于Emit的打造AOP

之前的基于DispatchProxy的AOP组件&#xff0c;实现了属性注入&#xff0c;但是这个依旧有很多限制 比如不支持构造器注入&#xff0c;继承DispatchProxy的子类必须是公开类 个人有点代码洁癖&#xff0c;不喜欢这种不能控制的方式&#xff0c;就学了几天Emit&#xff0c;参考了…

[html] iOS下页面如何启动加载时显示画面图片?如何设置大小?它有什么好处?

[html] iOS下页面如何启动加载时显示画面图片&#xff1f;如何设置大小&#xff1f;它有什么好处&#xff1f; <link rel"apple-touch-startup-image" href"start.png" media"(device-width: 1536px) and (orientation: portrait)"/> IOS…

google 确定某点海拔高_“湘能楚天”牌变电站的威宁之旅(一)|高海拔下如何实现与茫茫雪原环境的共生?...

“湘能楚天”牌变电站的威宁之旅——序从湘能楚天办公楼三楼坐电梯&#xff0c;出门左转上京珠高速再转杭瑞高速&#xff0c;根据百度地图的提醒&#xff0c;行车13小时40分&#xff0c;将抵达贵州威宁黑土河&#xff0c;全程1197公里&#xff0c;再前行就到了迤那。黑土河&…

.Net Core 3.0依赖注入替换 Autofac

今天早上&#xff0c;喜庆的更新VS2019&#xff0c;终于3.0正式版了呀~ 有小伙伴问了一句Autofac怎么接入&#xff0c;因为Startup.ConfigureServices不能再把返回值改成IServiceProvider了&#xff0c;原来的替换依赖注入容器就不可行了&#xff0c;我随口说了一下Host上面.Us…

designer一直未响应 qt_未雨绸缪及时清淤 曾是内涝重灾区 这次涵洞未积水

市政工人揭开井盖排水 楚天快报见习记者吴宜芝 通讯员王艳华城区几处铁路涵洞&#xff0c;曾经是城区内涝重灾区&#xff0c;每逢下雨&#xff0c;涵洞就成了一条无法逾越的鸿沟。然而此次持续6个多小时的降雨中&#xff0c;却均未出现严重的积水&#xff0c;也未影响交通。此次…

a标签点击事件_DOM事件机制

前言本文主要介绍DOM事件级别、DOM事件模型、事件流、事件代理和Event对象常见的应用&#xff0c;希望对你们有些帮助和启发&#xff01;一、DOM事件级别DOM级别一共可以分为四个级别&#xff1a;DOM0级、DOM1级、DOM2级和DOM3级。而DOM事件分为3个级别&#xff1a;DOM 0级事件…

如何开始了解一个新知识(Vuex)

我是歌谣 放弃很容易 但是坚持一定很酷 前言 每次做开发遇到一个新的知识点 总要思索着如何去实现这个新东西 最近来大概讲讲Vuex vuex是前端用的比较多的一个东西之一 通过一张图了解一下原理 原理和vuex产生原因 看完了整个的原理之后 安装就直接过去了 就是包管理工具 …

HDU2277_变色球

/* *题目大意: * 给定a, b, c&#xff0c;代表三种不同颜色的球的个数&#xff0c;然后规定 * 如果把任意两种不同颜色的球放在一起&#xff0c;那么它们两个 * 的颜色将变成第三种颜色的球的颜色。求判断最后所有的 * 球能否变成同一种颜色&#xff0c;如果能&#xff0c;…

.Net Core 3.0下AOP试水~~

昨天躺了一下3.0的依赖注入的雷 今天顺势把AOP做了一下调整&#xff0c;比如自动化的AOP注入 默认的Program里面的CreateHostBuilder方法增加一行 public static IHostBuilder CreateHostBuilder(string[] args) >Host.CreateDefaultBuilder(args).UseServiceProviderFactor…

golang 读取文件最后一行_测试用例是开发人员最后一块遮羞布

测试用例是开发人员最后一块遮羞布最近一周写一个比较复杂的业务模块&#xff0c;越写到后面真心越心虚。操作越来越复杂了&#xff0c;代码也逐渐凌乱了起来。比如一个接口&#xff0c;传入的是一个比较复杂的大json&#xff0c;我需要解析这个大json&#xff0c;然后根据json…

android 进度条_Android仿水波纹流球进度条控制器,实现高端大气的主流特效

今天看到一个效果挺不错的&#xff0c;就模仿了下来&#xff0c;加上了一些自己想要的效果&#xff0c;感觉还不错的样子&#xff0c;所以就分享出来了&#xff0c;话不多说&#xff0c;上图CircleView这里主要是实现中心圆以及水波特效package com.lgl.circleview;import andr…

[html] iframe父页面如何获取子页面的元素?

[html] iframe父页面如何获取子页面的元素&#xff1f; 在父页面监听 onmessage&#xff0c;子页面 postMessage。$(iframe)[0].contentWindow.document.getElementByIddocument.frames[xx].document.getElementById个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识…

怎么更换WIN7欢迎界面的背景图?

第一步&#xff1a;先单击“开端 →运转 ”&#xff0c;打开“运转 ”对话框并输入 “Regedit”&#xff08;不包含外侧引号&#xff09;&#xff1b;接着单击“确定”按钮打开注册表编辑器&#xff0c;再定位到“HKEY_LOCAL_MACHINESOFTWARE\Microsoft\Windows\CurrentVersion…

docker php composer 使用_如何使用Docker部署PHP开发环境

本文主要介绍了如何使用Docker构建PHP的开发环境&#xff0c;文中作者也探讨了构建基于Docker的开发环境应该使用单容器还是多容器&#xff0c;各有什么利弊。推荐PHP开发者阅读。希望对大家有所帮助。环境部署一直是一个很大的问题&#xff0c;无论是开发环境还是生产环境&…

1-docker安装

一、看官方地址选择平台&#xff0c;我的是centos7 系统 https://docs.docker.com/install/linux/docker-ce/centos/二、安装依赖 sudo yum install -y yum-utils device-mapper-persistent-data lvm2三、添加软件仓库&#xff0c;我们这⾥使⽤稳定版 Docker&#xff0c;执⾏下…