zoukankan      html  css  js  c++  java
  • php 获取上上个月数据 使用 strtotime('-1 months')的一个bug

          今天,使用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())));
    
  • 相关阅读:
    Spring事务管理
    Java GC算法
    内连接,左连接,右连接
    ThreadLocal相关
    @Autowired 与 @Resource的区别
    spring注解
    BZOJ 1040 ZJOI 2008 骑士 树形DP
    HDU 5575 Discover Water Tank 并查集 树形DP
    BZOJ 3571 画框 KM算法 最小乘积最大权匹配
    ZOJ 3256 Tour in the Castle 插头DP 矩阵乘法
  • 原文地址:https://www.cnblogs.com/c-961900940/p/7462059.html
Copyright © 2011-2022 走看看