lysowc/date-calculate

日期计算


License
MIT

Documentation

date-calculate 日期计算

方便的计算某个日期,或者多个日期  
<?php  
namespace Tests;  

use Lysowc\DateCalculate\DateCalculate;  

/**
 * 测试日期计算
 * @author lysowc
 */
class TestDateCalculate
{
    /**
     * 测试获取之前的某个日期
     * @return void
     * @throws Expception
     */
    public function testCalculateBeforeDate()
    {
        $result = [
            'yesterDay' => null,
            'lastMonth' => null,
            'lastYear' => null,
        ];
        $startDate = '2022-08-17';
        //两天前
        $result['yesterDay'] = DateCalculate::calculateBeforeDate($startDate, 2, 'd');
        //3个月前
        $result['lastMonth'] = DateCalculate::calculateBeforeDate($startDate, 3, 'm');
        //4年前
        $result['lastYear'] = DateCalculate::calculateBeforeDate($startDate, 4, 'y');

        echo "<pre>";
        print_r($result);
        // Array
        // (
        //     [yesterDay] => 2022-08-15
        //     [lastMonth] => 2022-05-17
        //     [lastYear] => 2018-08-17
        // )
    }

    /**
     * 测试计算两个日期之间相隔多少 年/月/日
     * @return void
     * @throws Expception
     */
    public function testCalculateCountBetweenTwoDate()
    {
        $result = [
            'day' => null,
            'month' => null,
            'year' => null,
        ];
        $startDate = '2022-08-17';
        $endDate = '2023-06-07';
        //相隔天数
        $result['day'] = DateCalculate::calculateCountBetweenTwoDate($startDate, $endDate, 'd');
        //相隔月份
        $result['month'] = DateCalculate::calculateCountBetweenTwoDate($startDate, $endDate, 'm');
        //相隔年份
        $result['year'] = DateCalculate::calculateCountBetweenTwoDate($startDate, $endDate, 'y');

        echo "<pre>";
        print_r($result);
        // Array
        // (
        //     [day] => 295
        //     [month] => 10
        //     [year] => 1
        // )
    }

    /**
     * 测试获取某个月有多少天
     * @return void
     * @throws Expception
     */
    public function testcalculateMonthLastDate()
    {
        $result = [
            'date' => null,
        ];
        $date = '2022-08-17';
        $result['date'] = DateCalculate::calculateMonthLastDate($date);

        echo "<pre>";
        print_r($result);
        // Array
        // (
        //     [date] => 31
        // )
    }

    /**
     * 测试获取某个日期的第一天 年/月/日
     * @return void
     * @throws Expception
     */
    public function testCalculateFirstDate()
    {
        $result = [
            'month' => null,
            'year' => null,
        ];
        $date = '2022-08-17';
        //月份第一天
        $result['month'] = DateCalculate::calculateFirstDate($date, 'm');
        //年份第一天
        $result['year'] = DateCalculate::calculateFirstDate($date, 'y');

        echo "<pre>";
        print_r($result);
        // Array
        // (
        //     [month] => 2022-08-01
        //     [year] => 2022-01-01
        // )
    }

    /**
     * 测试获取年/月后一天 
     * @return void
     * @throws Expception
     */
    public function testCalculateLastDate()
    {
        $result = [
            'month' => null,
            'year' => null,
        ];
        $date = '2022-08-17';
        //月份最后一天
        $result['month'] = DateCalculate::calculateLastDate($date, 'm');
        //年份最后一天
        $result['year'] = DateCalculate::calculateLastDate($date, 'y');

        echo "<pre>";
        print_r($result);
        // Array
        // (
        //     [month] => 2022-08-31
        //     [year] => 2022-12-31
        // )
    }

    /**
     * 测试 根据日期计算当前年内所有月和天
     * @return void
     * @throws Expception
     */
    public function testCalculateYmdtDate()
    {
        $result = [
            'month' => [],
        ];
        $startDate = '2022-08-17';
        $result['month'] = DateCalculate::calculateYmdtDate($startDate);

        echo "<pre>";
        print_r($result);
        // Array
        // (
        //     [month] => Array
        //         (
        //             [1] => Array
        //                 (
        //                     [0] => 00
        //                     [1] => 01
        //                     [2] => 02
        //                     [3] => 03
        //                     [4] => 04
        //                     [5] => 05
        //                     [6] => 06
        //                     [7] => 07
        //                     [8] => 08
        //                     [9] => 09
        //                     [10] => 10
        //                     [11] => 11
        //                     [12] => 12
        //                     [13] => 13
        //                     [14] => 14
        //                     [15] => 15
        //                     [16] => 16
        //                     [17] => 17
        //                     [18] => 18
        //                     [19] => 19
        //                     [20] => 20
        //                     [21] => 21
        //                     [22] => 22
        //                     [23] => 23
        //                     [24] => 24
        //                     [25] => 25
        //                     [26] => 26
        //                     [27] => 27
        //                     [28] => 28
        //                     [29] => 29
        //                     [30] => 30
        //                     [31] => 31
        //                 )

        //             [2] => Array
        //                 (
        //                     [0] => 00
        //                     [1] => 01
        //                     [2] => 02
        //                     [3] => 03
        //                     [4] => 04
        //                     [5] => 05
        //                     [6] => 06
        //                     [7] => 07
        //                     [8] => 08
        //                     [9] => 09
        //                     [10] => 10
        //                     [11] => 11
        //                     [12] => 12
        //                     [13] => 13
        //                     [14] => 14
        //                     [15] => 15
        //                     [16] => 16
        //                     [17] => 17
        //                     [18] => 18
        //                     [19] => 19
        //                     [20] => 20
        //                     [21] => 21
        //                     [22] => 22
        //                     [23] => 23
        //                     [24] => 24
        //                     [25] => 25
        //                     [26] => 26
        //                     [27] => 27
        //                     [28] => 28
        //                 )

        //             [3] => Array
        //                 (
        //                     [0] => 00
        //                     [1] => 01
        //                     [2] => 02
        //                     [3] => 03
        //                     [4] => 04
        //                     [5] => 05
        //                     [6] => 06
        //                     [7] => 07
        //                     [8] => 08
        //                     [9] => 09
        //                     [10] => 10
        //                     [11] => 11
        //                     [12] => 12
        //                     [13] => 13
        //                     [14] => 14
        //                     [15] => 15
        //                     [16] => 16
        //                     [17] => 17
        //                     [18] => 18
        //                     [19] => 19
        //                     [20] => 20
        //                     [21] => 21
        //                     [22] => 22
        //                     [23] => 23
        //                     [24] => 24
        //                     [25] => 25
        //                     [26] => 26
        //                     [27] => 27
        //                     [28] => 28
        //                     [29] => 29
        //                     [30] => 30
        //                     [31] => 31
        //                 )

        //             [4] => Array
        //                 (
        //                     [0] => 00
        //                     [1] => 01
        //                     [2] => 02
        //                     [3] => 03
        //                     [4] => 04
        //                     [5] => 05
        //                     [6] => 06
        //                     [7] => 07
        //                     [8] => 08
        //                     [9] => 09
        //                     [10] => 10
        //                     [11] => 11
        //                     [12] => 12
        //                     [13] => 13
        //                     [14] => 14
        //                     [15] => 15
        //                     [16] => 16
        //                     [17] => 17
        //                     [18] => 18
        //                     [19] => 19
        //                     [20] => 20
        //                     [21] => 21
        //                     [22] => 22
        //                     [23] => 23
        //                     [24] => 24
        //                     [25] => 25
        //                     [26] => 26
        //                     [27] => 27
        //                     [28] => 28
        //                     [29] => 29
        //                     [30] => 30
        //                 )

        //             [5] => Array
        //                 (
        //                     [0] => 00
        //                     [1] => 01
        //                     [2] => 02
        //                     [3] => 03
        //                     [4] => 04
        //                     [5] => 05
        //                     [6] => 06
        //                     [7] => 07
        //                     [8] => 08
        //                     [9] => 09
        //                     [10] => 10
        //                     [11] => 11
        //                     [12] => 12
        //                     [13] => 13
        //                     [14] => 14
        //                     [15] => 15
        //                     [16] => 16
        //                     [17] => 17
        //                     [18] => 18
        //                     [19] => 19
        //                     [20] => 20
        //                     [21] => 21
        //                     [22] => 22
        //                     [23] => 23
        //                     [24] => 24
        //                     [25] => 25
        //                     [26] => 26
        //                     [27] => 27
        //                     [28] => 28
        //                     [29] => 29
        //                     [30] => 30
        //                     [31] => 31
        //                 )

        //             [6] => Array
        //                 (
        //                     [0] => 00
        //                     [1] => 01
        //                     [2] => 02
        //                     [3] => 03
        //                     [4] => 04
        //                     [5] => 05
        //                     [6] => 06
        //                     [7] => 07
        //                     [8] => 08
        //                     [9] => 09
        //                     [10] => 10
        //                     [11] => 11
        //                     [12] => 12
        //                     [13] => 13
        //                     [14] => 14
        //                     [15] => 15
        //                     [16] => 16
        //                     [17] => 17
        //                     [18] => 18
        //                     [19] => 19
        //                     [20] => 20
        //                     [21] => 21
        //                     [22] => 22
        //                     [23] => 23
        //                     [24] => 24
        //                     [25] => 25
        //                     [26] => 26
        //                     [27] => 27
        //                     [28] => 28
        //                     [29] => 29
        //                     [30] => 30
        //                 )

        //             [7] => Array
        //                 (
        //                     [0] => 00
        //                     [1] => 01
        //                     [2] => 02
        //                     [3] => 03
        //                     [4] => 04
        //                     [5] => 05
        //                     [6] => 06
        //                     [7] => 07
        //                     [8] => 08
        //                     [9] => 09
        //                     [10] => 10
        //                     [11] => 11
        //                     [12] => 12
        //                     [13] => 13
        //                     [14] => 14
        //                     [15] => 15
        //                     [16] => 16
        //                     [17] => 17
        //                     [18] => 18
        //                     [19] => 19
        //                     [20] => 20
        //                     [21] => 21
        //                     [22] => 22
        //                     [23] => 23
        //                     [24] => 24
        //                     [25] => 25
        //                     [26] => 26
        //                     [27] => 27
        //                     [28] => 28
        //                     [29] => 29
        //                     [30] => 30
        //                     [31] => 31
        //                 )

        //             [8] => Array
        //                 (
        //                     [0] => 00
        //                     [1] => 01
        //                     [2] => 02
        //                     [3] => 03
        //                     [4] => 04
        //                     [5] => 05
        //                     [6] => 06
        //                     [7] => 07
        //                     [8] => 08
        //                     [9] => 09
        //                     [10] => 10
        //                     [11] => 11
        //                     [12] => 12
        //                     [13] => 13
        //                     [14] => 14
        //                     [15] => 15
        //                     [16] => 16
        //                     [17] => 17
        //                     [18] => 18
        //                     [19] => 19
        //                     [20] => 20
        //                     [21] => 21
        //                     [22] => 22
        //                     [23] => 23
        //                     [24] => 24
        //                     [25] => 25
        //                     [26] => 26
        //                     [27] => 27
        //                     [28] => 28
        //                     [29] => 29
        //                     [30] => 30
        //                     [31] => 31
        //                 )

        //             [9] => Array
        //                 (
        //                     [0] => 00
        //                     [1] => 01
        //                     [2] => 02
        //                     [3] => 03
        //                     [4] => 04
        //                     [5] => 05
        //                     [6] => 06
        //                     [7] => 07
        //                     [8] => 08
        //                     [9] => 09
        //                     [10] => 10
        //                     [11] => 11
        //                     [12] => 12
        //                     [13] => 13
        //                     [14] => 14
        //                     [15] => 15
        //                     [16] => 16
        //                     [17] => 17
        //                     [18] => 18
        //                     [19] => 19
        //                     [20] => 20
        //                     [21] => 21
        //                     [22] => 22
        //                     [23] => 23
        //                     [24] => 24
        //                     [25] => 25
        //                     [26] => 26
        //                     [27] => 27
        //                     [28] => 28
        //                     [29] => 29
        //                     [30] => 30
        //                 )

        //             [10] => Array
        //                 (
        //                     [0] => 00
        //                     [1] => 01
        //                     [2] => 02
        //                     [3] => 03
        //                     [4] => 04
        //                     [5] => 05
        //                     [6] => 06
        //                     [7] => 07
        //                     [8] => 08
        //                     [9] => 09
        //                     [10] => 10
        //                     [11] => 11
        //                     [12] => 12
        //                     [13] => 13
        //                     [14] => 14
        //                     [15] => 15
        //                     [16] => 16
        //                     [17] => 17
        //                     [18] => 18
        //                     [19] => 19
        //                     [20] => 20
        //                     [21] => 21
        //                     [22] => 22
        //                     [23] => 23
        //                     [24] => 24
        //                     [25] => 25
        //                     [26] => 26
        //                     [27] => 27
        //                     [28] => 28
        //                     [29] => 29
        //                     [30] => 30
        //                     [31] => 31
        //                 )

        //             [11] => Array
        //                 (
        //                     [0] => 00
        //                     [1] => 01
        //                     [2] => 02
        //                     [3] => 03
        //                     [4] => 04
        //                     [5] => 05
        //                     [6] => 06
        //                     [7] => 07
        //                     [8] => 08
        //                     [9] => 09
        //                     [10] => 10
        //                     [11] => 11
        //                     [12] => 12
        //                     [13] => 13
        //                     [14] => 14
        //                     [15] => 15
        //                     [16] => 16
        //                     [17] => 17
        //                     [18] => 18
        //                     [19] => 19
        //                     [20] => 20
        //                     [21] => 21
        //                     [22] => 22
        //                     [23] => 23
        //                     [24] => 24
        //                     [25] => 25
        //                     [26] => 26
        //                     [27] => 27
        //                     [28] => 28
        //                     [29] => 29
        //                     [30] => 30
        //                 )

        //             [12] => Array
        //                 (
        //                     [0] => 00
        //                     [1] => 01
        //                     [2] => 02
        //                     [3] => 03
        //                     [4] => 04
        //                     [5] => 05
        //                     [6] => 06
        //                     [7] => 07
        //                     [8] => 08
        //                     [9] => 09
        //                     [10] => 10
        //                     [11] => 11
        //                     [12] => 12
        //                     [13] => 13
        //                     [14] => 14
        //                     [15] => 15
        //                     [16] => 16
        //                     [17] => 17
        //                     [18] => 18
        //                     [19] => 19
        //                     [20] => 20
        //                     [21] => 21
        //                     [22] => 22
        //                     [23] => 23
        //                     [24] => 24
        //                     [25] => 25
        //                     [26] => 26
        //                     [27] => 27
        //                     [28] => 28
        //                     [29] => 29
        //                     [30] => 30
        //                     [31] => 31
        //                 )

        //         )

        // )
    }
}