PHP获取近N个月时间戳

工作时可能会遇到获取近几个月的时间戳,在向数据库中获取对应值的问题,以下是解决方法,同时借鉴链接中处理31号数据相同bug问题(刚好今天31号测出的bug)

相关链接:
PHP获取当前月份的前一个月、后一个月

/**
 * 获取N+1个月的时间戳
 */
if (!function_exists('timeStampMonth')) {
    function timeStampMonth($month = 4)
    {
        $monthList = [];
        for ($i = 1; $i > -$month; $i--) {
            $monthList[] = strtotime(GetMonth($i));
        }
        return $monthList;
    }
}

/**
 * 规避PHP原生php时间戳31天bug
 */
function GetMonth($sign="1")
{
    //得到系统的年月
    $tmp_date=date("Ym");
    //切割出年份
    $tmp_year=substr($tmp_date,0,4);
    //切割出月份
    $tmp_mon =substr($tmp_date,4,2);
    $tmp=mktime(0,0,0,$tmp_mon+$sign,1,$tmp_year);
    return date("Y-m",$tmp);
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容