php 计算上一个月的今天 PHP 计算几个月前的今天

PHP 计算几个月前的今天    

下面第一个方法基本全覆盖了所需功能

复制代码
/*
 * 根据指定时间 计算指定前N个月的今天
 * */
function lastMonth($nowT,$i){
    $lastM1 = date('n', strtotime(" -" . $i . " month", strtotime("first day of 0 month", $nowT)));
    $lastM2 = date('n', strtotime(" -" . $i . " month", $nowT));
    if ($lastM1 != $lastM2) {
        $expectD = date('Y-m-d', strtotime(" last day of -" . $i . " month", $nowT));
    } else {
        $expectD = date('Y-m-d', strtotime(" -" . $i . " month", $nowT));
    }
    return $expectD;
}
复制代码

 

 

下面这个方法只是适用于调取上个月的今天

复制代码
/**
 * 计算上一个月的今天,如果上个月没有今天,则返回上一个月的最后一天
 * @param type $time
 * @return type
 */
function last_month_today($time){
    $last_month_time = mktime(date("G", $time), date("i", $time),
        date("s", $time), date("n", $time), 0, date("Y", $time));
    $last_month_t =  date("t", $last_month_time);
    if ($last_month_t < date("j", $time)) {
        return date("Y-m-t H:i:s", $last_month_time);
    }
    return date(date("Y-m", $last_month_time) . "-d", $time);
}
复制代码
  $time = strtotime("2021-05-31");//time();
  $aa = last_month_today($time);
  dump($aa);die();

 

posted @   遇事稳坐钓鱼台  阅读(176)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
历史上的今天:
2018-03-08 JQuery each遍历A标签获取href 和 里面指定的值
点击右上角即可分享
微信分享提示