改正之前:

$_lastMonthStart = date(‘Y-m-1 00:00:00‘, strtotime("-1 month"));

$_lastMonthEnd = date(‘Y-m-d H:i:s‘, strtotime(‘-1 sec‘, strtotime($_monthStart)));

$preMonthRange = [$_lastMonthStart, $_lastMonthEnd];

想要的结果:上一个月的开始和结束时间这一范围。

出现的问题描述:5月31号获取到的上一个时间居然是5月1到5月31!!!正确的应该是4月1到4月30

问题原因分析:

问题出现在5.31这一天减去一个月不存在4.31,所以变成了5.1导致出错。

解决方法:

在上面定义一个’标准时间‘,即本月的1号。

改正之后:

$standardTime = date(‘Y-m-1‘);

$_lastMonthStart = date(‘Y-m-1 00:00:00‘, strtotime("-1 month", strtotime($standardTime)));

$_lastMonthEnd = date(‘Y-m-d H:i:s‘, strtotime(‘-1 sec‘, strtotime($_monthStart)));

$preMonthRange = [$_lastMonthStart, $_lastMonthEnd];

完美解决问题!

原文:https://www.cnblogs.com/liuqd001/p/9144413.html

php 上一个月的开始和结束,php获取上一个月的开始与结束时间遇到的问题相关推荐

  1. java 获取上传文件的格式_js和java获取上传文件的文件名以及上传文件格式判断...

    js获取文件名: //校验 function check(){ var fileType = $("#template").val(); //判断后缀是不是需要的文件类型 if(f ...

  2. python获取某年某月的第一天和最后一天获取某年某月的天数

    1.python获取某年某月的第一天和最后一天 在写程序的时候,我们经常要获取某年某月的第一天和最后一天,如输入202208,即可得到2022-08-01 和 2022-08-31 话不多说,上代码 ...

  3. 一行Java代码实现获取上传文件的后缀名

    场景 在进行上传文件时,需要对上传的文件进行重命名,那么就需要获取 上传文件的后缀名. 实现 //获取上传文件名fileName = file1.getOriginalFilename(); //获取 ...

  4. php最大输入时间,php 根据输入的参数,获取上季度最后一个月的时间

    public function getTime( $time ='2017-06-01 00:00:00'){ $month = date('m',strtotime($time)); $season ...

  5. js获取上一个月、下一个月

    /*** 获取上一个月** @date 格式为yyyy-mm-dd的日期,如:2014-01-25*/function getPreMonth(date) {var arr = date.split( ...

  6. 获取上一个自然周的、上一个自然月的起始时间范围

    一般统计经常用的时间范围,在此提供两个经常用到,时间范围取每个月一号零时至下月一号零时之间 例如:当前日期是 20190910 20190801 00:00:00 -- 20190901 00:00: ...

  7. 根据指定日期获取上一个月

    根据指定日期获取上一个月 看过不少类似文章,根据一个日期,要取得相应的上一个月的值,则利用Calendar的api:get(Calendar.MONTH) - 1)来算. 思路是对的,但这个api有坑 ...

  8. php 使用strtotime获取上一个月月份的问题

    strtotime() 函数说明: strtotime() 函数将任何英文文本的日期或时间描述解析为 Unix 时间戳,比如: 1.输出当前时间戳:echo strtotime("now&q ...

  9. 让客户无法拒绝的成交方案,理发店一个月竟获取上千个客户

    深圳有一家理发店采用的是鱼饵模式.这里简单地分享一下,这个理发店是那种中高端那种.他们直接设计了一个产品,通过老顾客来店消费的时候,告诉他们,我们今天有一个超级优惠,你只要今天充值50块,我赠送你5张 ...

最新文章

  1. GTD资源列表[070826更新] - [GTD]
  2. boost::gil::pixel_bit_size用法的测试程序
  3. java8新特性(2)--- 方法引用
  4. linux那些事之TLB(Translation-Lookaside Buffer)无效操作
  5. header manipulation 漏洞_【资讯】HPE 修补了两个关键的远程可利用漏洞
  6. ECSHOP 如何删除商品列表页 购买弹出 商品属性框后面的价格
  7. 通过EasyRecovery恢复删除的音频
  8. SQL SERVER存储过程的几种示例
  9. vs code搭建vue环境
  10. 【韦东山嵌入式Linux】vi编辑器入门笔记
  11. java ssh超市进销存管理系统(源码+文档)【源码分享】
  12. 基于多源传感器融合的导航定位综述方法分析
  13. cad修改快捷键_【收藏】史上最齐全的CAD大全
  14. 存储简单数据——Preferences
  15. 如何用python画椭圆_怎么用python画椭圆?
  16. <Zhuuu_ZZ>Map接口和equals重写
  17. 10个最有效的微信推广方法
  18. 华为优秀员工的16项标准
  19. html5 单元格宽度,html table呈现个人简历以及单元格宽度失效的问题解决
  20. h5解决外置浏览器和小程序跨域问题

热门文章

  1. 【Java单元测试】如何进行单元测试、异常测试、参数化测试、超时测试、测试多线程
  2. 区块链系列教程之:比特币的世界
  3. JDK12的新特性:teeing collectors
  4. java中 int 比较_java中Integer与int的种种比较你知道多少?
  5. 归并排序,快速排序,冒泡排序,选择排序,基数排序,桶排序,堆排序(c++实现)
  6. 数据结构——排序算法(含动态图片)
  7. Codeup-问题 C: 货币系统
  8. 《大数据日知录:架构与算法》前言
  9. 39行代码AC_HDU-6740 2019CCPC秦皇岛 J MUV LUV EXTRA(KMP变形)
  10. Python数据结构学习笔记——队列和双端队列