美文网首页PHP经验分享PHP实战PHP实战
获取n年前当月到今年当月的所有月份

获取n年前当月到今年当月的所有月份

作者: 我_bacd | 来源:发表于2019-08-16 17:08 被阅读2次

    问题:获取n年前当月到今年当月的所有月份。
    例如: 2014年8月到2019年8月间的所有月份。

    <?php
    
    /**
     * 需求:获取 n 年前当月到现在当月的所有月份
     * 思路:采用循环,递减月份到 n 年前的当月
     * 思路:n年共 12n 个月,但考虑到 n年前的当月 也算一次记录,所以一共 12n+1 次循环
     * 
     * @param  int $n 多少年前
     * @return array
     */
    function getMonthsInTime (int $n) {
        $num = $n * 12;
        $res = [];
    
        for($i=$num; $i>=0; $i--){
            $res[] = date("Y-m", strtotime("-{$i} month"));
        }
    
        return $res;
    }
    
    
    $res = getMonthsInTime(5);
    echo '<pre>';
    print_r($res);
    
    // 运行结果
    Array
    (
        [0] => 2014-08
        [1] => 2014-09
        [2] => 2014-10
        [3] => 2014-11
        [4] => 2014-12
        [5] => 2015-01
        [6] => 2015-02
        [7] => 2015-03
        [8] => 2015-04
        [9] => 2015-05
        [10] => 2015-06
        [11] => 2015-07
        [12] => 2015-08
        [13] => 2015-09
        [14] => 2015-10
        [15] => 2015-11
        [16] => 2015-12
        [17] => 2016-01
        [18] => 2016-02
        [19] => 2016-03
        [20] => 2016-04
        [21] => 2016-05
        [22] => 2016-06
        [23] => 2016-07
        [24] => 2016-08
        [25] => 2016-09
        [26] => 2016-10
        [27] => 2016-11
        [28] => 2016-12
        [29] => 2017-01
        [30] => 2017-02
        [31] => 2017-03
        [32] => 2017-04
        [33] => 2017-05
        [34] => 2017-06
        [35] => 2017-07
        [36] => 2017-08
        [37] => 2017-09
        [38] => 2017-10
        [39] => 2017-11
        [40] => 2017-12
        [41] => 2018-01
        [42] => 2018-02
        [43] => 2018-03
        [44] => 2018-04
        [45] => 2018-05
        [46] => 2018-06
        [47] => 2018-07
        [48] => 2018-08
        [49] => 2018-09
        [50] => 2018-10
        [51] => 2018-11
        [52] => 2018-12
        [53] => 2019-01
        [54] => 2019-02
        [55] => 2019-03
        [56] => 2019-04
        [57] => 2019-05
        [58] => 2019-06
        [59] => 2019-07
        [60] => 2019-08
    )
    

    相关文章

      网友评论

        本文标题:获取n年前当月到今年当月的所有月份

        本文链接:https://www.haomeiwen.com/subject/hyuqsctx.html