今天,使用php 日期函数处理数据,发现一个问题。

具体场景是这样的,我一直以为strtotime  格式化当前日期指定日期可以找到对应的数据,比如我要查找上上个与的数据,因为我要获取当前时间的上上个月

echo $enddate = strtotime("-2 months", strtotime("2017-08-31"));
echo "<br>";
var_dump(date("Y-m-d H:i:s",$enddate));
echo $enddate = strtotime("-2 months", strtotime("2017-09-01"));
echo "<br>";
var_dump(date("Y-m-d H:i:s",$enddate)); echo "<hr>"; echo $enddate = strtotime("-2 months", strtotime("2017-08"));
echo "<br>";
var_dump(date("Y-m-d H:i:s",$enddate));
echo $enddate = strtotime("-2 months", strtotime("2017-09"));
echo "<br>";
var_dump(date("Y-m-d H:i:s",$enddate));

结果输出如下:

细心的小伙伴,可能已经发现了问题,用  2017-08-31  并不能格式化得到  2017-06 的数据;   只能是  2017-08-01  或2017-08才能正确得到数据,必须再转换成这种格式才可以,而不是直接根据当前时间进行格式化;和我认知有出误啊!

可能是php 的一个bug,网上查了一下,也有同学反馈这样一问题,,

大家可以使用上述方法查找,也可以使用如下函数:比如你要查找  2017-08的数据

echo date("Ym", mktime(0,0,0,date('m', time())-3,1,date("Y", time())));

最新文章

  1. Java for LeetCode 218 The Skyline Problem【HARD】
  2. 在64位Win7中使用Navicat Premium 和PL\SQL Developer连接Oracle数据库备忘
  3. R AnalyticFlow---R的流程图
  4. 如何将class文件打包成jar 这里提供两种方式!
  5. ASP.NET MVC:Razor 引入命名空间
  6. js常用语句写法
  7. JavaScript CSS Style属性对照表
  8. WPF ResourceDictionary的使用
  9. devexpress表格控件gridcontrol图片列,按钮列,时间列等特殊列的实现
  10. bootstrap table 前后端分页(超级简单)
  11. vue页面传值
  12. Game Engine Architecture 8
  13. ubuntu编译安装php7遇到的问题及解决方案
  14. Java基础语法 第2节 Java语言基本语法
  15. 【CF995F】 Cowmpany Cowmpensation
  16. MFC制作OCX
  17. Python基础语法——(引号、字符串、长字符串、原始字符串、Unicode)
  18. 兼顾pc和移动端的textarea字数监控的实现方法
  19. TRF7970A IC Communication Interface
  20. Linux虚拟机忘记root密码的拯救办法

热门文章

  1. bigAutocomplete实现联想
  2. [译]RabbitMQ教程C#版 - “Hello World”
  3. java获取网页源码
  4. 强大易用的日期和时间库 Joda Time
  5. cmake学习之-project
  6. 【翻译自mos文章】执行utlpwdmg.sql之后报ORA-28003, ORA-20001, ORA-20002, ORA-20003, ORA-20004 错误
  7. iOS开发系列--让你的应用“动”起来【转载】
  8. 畅通project再续 HDU杭电1875 【Kruscal算法 || Prim】
  9. 在4x4的棋盘上摆满了黑白棋子,黑白两色的位置和数目随机其中左上角坐标为(1,1),右下角坐标为(4,4),现在依次有一些翻转操作,要对一些给定支点坐标为中心的上下左右四个棋子的颜色进行翻转,请计算出翻转后的棋盘颜色。
  10. jQuery入门知识点