Vendor/phpspreadsheet/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTime.php
public static function DAYS360($startDate = 0, $endDate = 0, $method = false)
    {
        $startDate = Functions::flattenSingleValue($startDate);
        $endDate = Functions::flattenSingleValue($endDate);

        if (is_string($startDate = self::getDateValue($startDate))) {
            return Functions::VALUE();
        }
        if (is_string($endDate = self::getDateValue($endDate))) {
            return Functions::VALUE();
        }

        if (!is_bool($method)) {
            return Functions::VALUE();
        }

        // Execute function
        $PHPStartDateObject = Date::excelToDateTimeObject($startDate);
        $startDay = $PHPStartDateObject->format('j');
        $startMonth = $PHPStartDateObject->format('n');
        $startYear = $PHPStartDateObject->format('Y');

        $PHPEndDateObject = Date::excelToDateTimeObject($endDate);
        $endDay = $PHPEndDateObject->format('j');
        $endMonth = $PHPEndDateObject->format('n');
        $endYear = $PHPEndDateObject->format('Y');

        return self::dateDiff360($startDay, $startMonth, $startYear, $endDay, $endMonth, $endYear, !$method);
    }
public static function DAYS360($startDate = 0, $endDate = 0, $method = false)
    {
        $startDate = Functions::flattenSingleValue($startDate);
        $endDate = Functions::flattenSingleValue($endDate);

        if (is_string($startDate = self::getDateValue($startDate))) {
            return Functions::VALUE();
        }
        if (is_string($endDate = self::getDateValue($endDate))) {
            return Functions::VALUE();
        }

        if (!is_bool($method)) {
            return Functions::VALUE();
        }

        // Execute function
        $PHPStartDateObject = Date::excelToDateTimeObject($startDate);
        $startDay = $PHPStartDateObject->format('j');
        $startMonth = $PHPStartDateObject->format('n');
        $startYear = $PHPStartDateObject->format('Y');

        $PHPEndDateObject = Date::excelToDateTimeObject($endDate);
        $endDay = $PHPEndDateObject->format('j');
        $endMonth = $PHPEndDateObject->format('n');
        $endYear = $PHPEndDateObject->format('Y');

        return self::dateDiff360($startDay, $startMonth, $startYear, $endDay, $endMonth, $endYear, !$method);
    }
public static function DAYS360 ( $ startDate = 0 , $ endDate = 0 , $ method = false ) { $ startDate = Functions :: flattenSingleValue ( $ startDate ) ; $ endDate = Functions :: flattenSingleValue ( $ endDate ) ; if ( is_string ( $ startDate = self :: getDateValue ( $ startDate ) ) ) { return Functions :: VALUE ( ) ; } if ( is_string ( $ endDate = self :: getDateValue ( $ endDate ) ) ) { return Functions :: VALUE ( ) ; } if ( ! is_bool ( $ method ) ) { return Functions :: VALUE ( ) ; } // Execute function $ PHPStartDateObject = Date :: excelToDateTimeObject ( $ startDate ) ; $ startDay = $ PHPStartDateObject -> format ( 'j' ) ; $ startMonth = $ PHPStartDateObject -> format ( 'n' ) ; $ startYear = $ PHPStartDateObject -> format ( 'Y' ) ; $ PHPEndDateObject = Date :: excelToDateTimeObject ( $ endDate ) ; $ endDay = $ PHPEndDateObject -> format ( 'j' ) ; $ endMonth = $ PHPEndDateObject -> format ( 'n' ) ; $ endYear = $ PHPEndDateObject -> format ( 'Y' ) ; return self :: dateDiff360 ( $ startDay , $ startMonth , $ startYear , $ endDay , $ endMonth , $ endYear , ! $ method ) ; }
DAYS360.

Returns the number of days between two dates based on a 360-day year (twelve 30-day months),
which is used in some accounting calculations. Use this function to help compute payments if
your accounting system is based on twelve 30-day months.

Excel Function:
DAYS360(startDate,endDate[,method])

@category Date/Time Functions

@param mixed $startDate Excel date serial value (float), PHP date timestamp (integer),
PHP DateTime object, or a standard date string
@param mixed $endDate Excel date serial value (float), PHP date timestamp (integer),
PHP DateTime object, or a standard date string
@param bool $method US or European Method
FALSE or omitted: U.S. (NASD) method. If the starting date is
the last day of a month, it becomes equal to the 30th of the
same month. If the ending date is the last day of a month and
the starting date is earlier than the 30th of a month, the
ending date becomes equal to the 1st of the next month;
otherwise the ending date becomes equal to the 30th of the
same month.
TRUE: European method. Starting dates and ending dates that
occur on the 31st of a month become equal to the 30th of the
same month.

@return int Number of days between start date and end date
DAYS360 .