zoukankan      html  css  js  c++  java
  • 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')));
  • 相关阅读:
    redis quick start
    Distributed processing
    DocFetcher 本机文件搜索工具
    ZeroTier One
    windows下搭建voip服务器
    在公司上wifi
    屏幕录制软件
    openresty vs golang vs nodejs
    DISC测试
    How to implement a windbg plugin
  • 原文地址:https://www.cnblogs.com/woods1815/p/11917398.html
Copyright © 2011-2022 走看看