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-012019-10-062019-10-132019-10-202019-10-27array(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

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

  1. php中strtotime(date,js模仿php中strtotime()与date()函数实现方法

    本文实例讲述了js模仿php中strtotime()与date()函数实现方法.分享给大家供大家参考.具体如下: 在js中没有像php中strtotime()与date()函数,可直接转换时间戳,下面 ...

  2. java strtotime_js模仿php中strtotime()与date()函数实现方法

    本文实例讲述了js模仿php中strtotime()与date()函数实现方法.分享给大家供大家参考.具体如下: 在js中没有像php中strtotime()与date()函数,可直接转换时间戳,下面 ...

  3. 问题简述:算出a年b月c日是当年的多少天

    问题简述:算出a年b月c日是当年的多少天 利用数组来判断闰年与否: #include<stdio.h> struct date {int day;int month;int year; } ...

  4. js获取日期周数,并根据周数算出当前周的开始和结束日期(周日开始,周六结束)

    js获取日期周数,并根据周数算出当前周的开始和结束日期(周日开始,周六结束) 日历图片 代码 获取日期的周数(全年的第几周) 根据周数获取该周的开始日期(周日)和结束日期(周六) 日历图片 代码 获取 ...

  5. 如何在计算机的函数中算折后价,怎么利用if函数算出冰箱的折后价,急急急急...

    在if函数中填入参数就可算出冰箱的折后价. 折扣率E11单元格公式如下: =IF(B11<100,$B$3,IF(B11<200,$B$4,IF(B11<300,$B$5,$B$6) ...

  6. 解决excel的date函数算大小月份不准确问题

    在excel中要想计算得到某一个日期的前几个月可以使用以下两种方法: 1.date()函数 =date(year(A11),month(A11)-1,day(A11)) 也就是先将日期拆分,再在各部分 ...

  7. 【js】根据出生日期算出年龄,获取最近几天日期,实现身份证计算生日,性别,年龄,深度比较两个对象是否相同

    /* 根据出生日期算出年龄*/ export function getAgeBirth(strBirthday) {let returnAgeconst strBirthdayArr = strBir ...

  8. java 算出下一个工作日,Java:计算一个日期加下指定工作日数(排除周六周日和一系列节日)...

    Java:计算一个日期加上指定工作日数(排除周六周日和一系列节日) 工作时遇到的,随便写了个,欢迎高手点评: 核心代码: package www.sjjjob.com.date; import jav ...

  9. php算出文件相对路径,php计算两个文件相对路径的方法

    本文实例讲述了php计算两个文件相对路径的方法.分享给大家供大家参考.具体如下: 一.问题: 写一个php函数算出两个文件的相对路径.例如$a="/a/b/c/d/e.php"; ...

最新文章

  1. 演示:思科IPS在线模式下Inline Interface Mode的响应行为(区别各个防御行为)
  2. 说一说MVC的CompressActionFilterAttrubute(五)
  3. SQL-语句实现九九乘法表
  4. 高通平台Tag精确寻找进阶教程
  5. reducebykeyandwindow java_Spark Streaming笔记整理(三):DS的transformation与output操作
  6. networkx中求解平均度_CFD理论|Reynolds平均法(RANS)
  7. 响应式布局技术:App如何适配不同尺寸的设备
  8. 特斯拉奔驰宝马沃尔沃团灭!安全的半自动驾驶?不存在的
  9. linux中用shell获取昨天、明天或多天前的日期
  10. 探究 Linux 内核 dts 设备树定义文件
  11. PHPCrawl webcrawler library/framework
  12. SAP-MM知识精解-批次管理(01)- 概览及物料的批次启用
  13. 图书馆管理系统【SSM含SQL文件】
  14. Windows 下利用cWrsync同步
  15. 如何在Flatter中以正确的方式存储登录凭证
  16. 计算机组成原理笔记(8)---机器指令、寻址方式
  17. java poi 段落行间距,Apache POI Word - 段落( Paragraph)
  18. 双非南京大学计算机夏令营,一名双非生的“失败”保研经历:夏令营不确定是否有保研资格,预推免上岸理想院校!...
  19. C#基于Emgucv的圆形识别定位方法
  20. Linux驱动开发-编写RFID-RC522射频刷卡模块驱动

热门文章

  1. js rem 单位适配(手机、平板、PC)?
  2. 如何解决Mybatis里mapper文件中关于不能用大于小于号
  3. python 数据库模块
  4. DateTimeFormatInfo 类
  5. 如何安装sshd服务用于远程登录
  6. TCP重组数据包分析
  7. Taro+react开发(83):taro路由配置
  8. 前端学习(3173):react-hello-react之todoList教程
  9. 前端学习(3143):react-hello-react之总结生命周期
  10. 前端学习(2982):实现商品功能列表