PHP中使用date获取上月最后一天出现的问题
上次做项目时,发现一个问题,这里记录一下:
问题:
在使用date函数获取上一个月最后一天或下个月最后一天时,如果当前日期是31号,获取的数据有问题。
// 2019-12-01 正确应该是 2019-11-30
date('Y-m-d', strtotime('+1 month', strtotime('2019-10-31')));
// 2019-10-01 正确应该是 2019-09-30
date('Y-m-d', strtotime('-1 month', strtotime('2019-10-31')));
解决办法:
可以使用“last day of”来获取最后一天。
// 2019-11-30
date('Y-m-d', strtotime('last day of +1 month', strtotime('2019-10-31')));
// 2019-09-30
date('Y-m-d', strtotime('last day of -1 month', strtotime('2019-10-31')));
测试后发现获取第一天数据也有同样的问题:
相应的可以使用“first day of”来获取第一天数据。
// 2019-11-01
date('Y-m-d', strtotime('first day of +1 month', strtotime('2019-10-31')));
// 2019-09-01
date('Y-m-d', strtotime('first day of -1 month', strtotime('2019-10-31')));
PHP中使用date获取上月最后一天出现的问题的更多相关文章
- Linux java Tomcat 项目中 new Date 获取时间 8小时 时差
转载自: https://blog.csdn.net/liqinghuiyx/article/details/53333284 起因:在本地开发的WEB项目部署到Linux 下后,存入数据库的时间少了 ...
- ASP获取上月本月下月的第一天和最后一天
上月第一天:<%=dateadd("m",-1,year(date)&"-"&month(date)&"-1" ...
- mysql中获取本月第一天、本月最后一天、上月第一天、上月最后一天等等
转自: https://blog.csdn.net/min996358312/article/details/61420462 1.当函数使用时,即interval(),为比较函数,如:interva ...
- js获取本月最后一天
function getLastDay() { var seperator1 = "-"; var date=new Date; var new_mo ...
- asp.net三层架构 及其中使用泛型获取实体数据介绍
asp.net中使用泛型获取实体数据可以发挥更高的效率,代码简洁方便,本例采用三层架构.首先在model层中定义StuInfo实体,然后在 DAL层的SQLHelper数据操作类中定义list< ...
- 向mysql中插入Date类型的数据
先看数据库表的定义 date字段为sql.date类型.我要向其中插入指定的日期和当前日期. 一.插入当前日期 思路:先获取当前系统,在将当前系统时间转换成sql类型的时间,然后插入数据库.代码如下 ...
- JSP+JavaBean+Servlet+Oracle新增功能中对Date类型的字段的处理
Oracle库中userinfo表borth字段是Date类型,age年纪字段是int类型.age字段要根据borth来自动计算 先说一下我遇到的问题: insert into的时候遇到日期转换类型错 ...
- java中时间的获取(二)
java中时间的获取2 /** * 获取数据库操作记录时间 */ public static String getOpreateDbTime() { Calendar c = Calendar.get ...
- php 日期 - 获取当月最后一天
/** * 日期-获取当月最后一天 * @return int */ public function get_lastday() { if($this->month==2) { $lastday ...
随机推荐
- Java生鲜电商平台-生鲜售后系统的退款架构设计与代码分享
Java生鲜电商平台-生鲜售后系统的退款架构设计与代码分享 说明:任何一个电商行业都涉及到退货与退款的问题,但是生鲜电商行业还设有一个显著的特点,那就是换货.在人性面前,各种各样的退货,退款,换货的售 ...
- for循环、while循环、break跳出循环、continue结束本次循环、exit退出整个脚本
7月13日任务 20.10 for循环20.11/20.12 while循环20.13 break跳出循环20.14 continue结束本次循环20.15 exit退出整个脚本扩展select用法 ...
- PHP按二维数组中的某个值重新排序数组 usort的使用方法
$arr[0] = ['aa'=>123,'bb'=>'abc']; $arr[1] = ['aa'=>456,'bb'=>'dfe']; usort($arr,ss('aa' ...
- 静态链表-C语言实现
1.静态链表是在没有指针的编程语言里对链表的一种实现2.主要是用数组模拟指针3.在这里,使用结构体使数组的每一个空间可以存储一个数据元素(date)和一个游标(cur),游标的作用相当于链表的指针域, ...
- ASP.NET Core3.X 终端中间件转换为端点路由运行
引言 前几天.NET Core3.1发布,于是我把公司一个基础通用系统升级了,同时删除了几个基础模块当然这几个基础模块与.NET Core3.1无关,其中包括了支付模块,升级完后静文(同事)问我你把支 ...
- 微信小程序——事件冒泡
在微信小程序的事件分为冒泡事件和非冒泡事件: 冒泡事件:当一个组件上的事件被触发后,该事件会向父节点传递. 非冒泡事件:当一个组件上的事件被触发后,该事件不会向父节点传递. WXML的冒泡事件列表: ...
- SpringBoot+Mybatis 实现动态数据源切换方案
背景 最近让我做一个大数据的系统,分析了一下,麻烦的地方就是多数据源切换抽取数据.考虑到可以跨服务器跨数据库抽数,再整理数据,就配置了这个动态数据源的解决方案.在此分享给大家. 实现方案 数据库配置文 ...
- Kafka分区分配策略分析——重点:StickyAssignor
“ 为什么Kafka在RangeAssigor.RoundRobinAssignor的基础上,又新增了PartitionAssignor,它解决了什么问题?” 背景 用过Kafka的同学应该都知道Ka ...
- 英飞凌TC297 PSPR与DSPR
TC297的系统架构图如下,3个核CPU0/1/2有各自的RAM,分为程序RAM和数据RAM,即PSPR和DSPR.PSPR(或者叫做PRAM)主要用于放置静态函数,提高函数执行效率,或放置flash ...
- js-Date()对象,get/setFullYear(),getDay()编程练习
啥也不说!看代码 主要注意:getday()方法中原理!!! <!DOCTYPE html> <html lang="en"> <head> & ...