用strtotime()和date()函数算出2019年9月的周日日期

strtotime---用于接收两个参数,第一个参数是格式化的日期数据如:date('Y-m-d'),第二个参数有如'+7 day'

  • 函数版
<?php
$firstsunday = strtotime(date('Y-m-01'));
$thisy = intval(date('m'));
$diffdays=0;
$count = 0;
if (date('w',strtotime(date('Y-m-01')))!=0)
{$diffdays=7-date('w',strtotime(date('Y-m-01')));
}
else{$count++;
}
$startdate =strtotime(date('Y-m-01')."+".$diffdays."day");
while (True)
{if ($thisy!=intval(date('m',$startdate))){break;}echo date('Y-m-d',$startdate)."\n";$startdate = strtotime(date('Y-m-d',strtotime(date('Y-m-d',$startdate)."+7 day")));//
}

结果

2019-09-01
2019-09-08
2019-09-15
2019-09-22
2019-09-29
  •  类版本---date()的参数可以是‘2019-09-20’这样的字符串,如同date('2019-09-20')或者是strtotime返回的整型数如同date('Y-m-d',strtotime('2019-09-20))
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();echo "时间戳:".date('Y-m-d',$this->firstday)."\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;}
}
$mycal = new mycalendar(2019,10);
var_dump($mycal->addwday());

 

结果:

时间戳:2019-10-01
2019-10-06
2019-10-13
2019-10-20
2019-10-27
array(4) {
  [0]=>
  string(10) "2019-10-06"
  [1]=>
  string(10) "2019-10-13"
  [2]=>
  string(10) "2019-10-20"
  [3]=>
  string(10) "2019-10-27"
}

  •  计算月末最后一天
echo date('Y-m-d',strtotime(date('2019-10-01')."+1 month -1 day"));

输出结果:

2019-10-31
  •  注意!对于日期计算一定要,正确的使用参数,否则将会出错
$lastday = strtotime(date('Y-m-d',$this->time)."+1 day");#正确
$lastday = strtotime(date($this->time)."+1 day");#错误,这样会返回1970-01-01

 

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

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

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

相关文章

保存到本地_手把手教你将微信表情包保存到本地

筒子们晚上好&#xff01;微信不像QQ那样可以把微信包表情直接保存到本地&#xff0c;所以今天就来介绍两个把微信表情包保存到本地的方法&#xff01;(两种方法均需要用到电脑)方法一&#xff1a;使用微信公众号(不建议)工具&#xff1a;手机&#xff0c;电脑&#xff0c;微信…

redis集群 + 哨兵 + zookeeper_技术干货 | Redis的哨兵和集群

Redis全称REmote DIctionary Server&#xff0c;是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库&#xff0c;并提供多种语言的API。它通常被称为数据结构服务器&#xff0c;因为值(value)可以是字符串(String), 哈希(…

[html] 移动端如何实现长按保存图片(图片上的二维码是动态的)?

[html] 移动端如何实现长按保存图片&#xff08;图片上的二维码是动态的&#xff09;&#xff1f; html -> canvas -> image -> a[download]html2canvas.js&#xff1a;可将 htmldom 转为 canvas 元素。传送门 canvasAPI&#xff1a;toDataUrl() 可将 canvas 转为 ba…

协作安装程序应用一例

所谓“协作安装程序”&#xff0c;在ddk文档里面称作co-installer&#xff0c;有人将它翻译成“共同安装程序”。但是&#xff0c; 从ddk文档对co-installer功能的描述来看&#xff0c;我个人觉得翻译成“协作安装程序”更恰当些。 ddk文档对co-installer的描述&#xff1a;A c…

foxitreadersdk 打开远程文件_一种最不为人知最简单最方便的用电脑操作手机上的文件...

(声明&#xff1a;此功能&#xff0c;只适用于安桌系统的手机)由于最近一年手机上的文件经常隔三差五地提示空间已满&#xff0c;我不得不经常痛心删除一些文件&#xff0c;或者将手机上的文件&#xff0c;移到电脑端。如果想通过QQ或者微信发送单个单个文件&#xff0c;总是不…

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

生成月份周日的类<?php class mycalendar {function __construct($year,$mon){$this->nianyue$year.-.$mon.-.01;$this->firstdaystrtotime(date($this->nianyue));$this->m intval(date(m,$this->firstday));$this->wdaylistarray();$this->lday s…

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…