Vendor/phpspreadsheet/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTime.php
public static function TIMEVALUE($timeValue)
    {
        $timeValue = trim(Functions::flattenSingleValue($timeValue), '"');
        $timeValue = str_replace(['/', '.'], '-', $timeValue);

        $arraySplit = preg_split('/[\/:\-\s]/', $timeValue);
        if ((count($arraySplit) == 2 || count($arraySplit) == 3) && $arraySplit[0] > 24) {
            $arraySplit[0] = ($arraySplit[0] % 24);
            $timeValue = implode(':', $arraySplit);
        }

        $PHPDateArray = date_parse($timeValue);
        if (($PHPDateArray !== false) && ($PHPDateArray['error_count'] == 0)) {
            if (Functions::getCompatibilityMode() == Functions::COMPATIBILITY_OPENOFFICE) {
                $excelDateValue = Date::formattedPHPToExcel(
                    $PHPDateArray['year'],
                    $PHPDateArray['month'],
                    $PHPDateArray['day'],
                    $PHPDateArray['hour'],
                    $PHPDateArray['minute'],
                    $PHPDateArray['second']
                );
            } else {
                $excelDateValue = Date::formattedPHPToExcel(1900, 1, 1, $PHPDateArray['hour'], $PHPDateArray['minute'], $PHPDateArray['second']) - 1;
            }

            switch (Functions::getReturnDateType()) {
                case Functions::RETURNDATE_EXCEL:
                    return (float) $excelDateValue;
                case Functions::RETURNDATE_PHP_NUMERIC:
                    return (int) $phpDateValue = Date::excelToTimestamp($excelDateValue + 25569) - 3600;
                case Functions::RETURNDATE_PHP_OBJECT:
                    return new \DateTime('1900-01-01 ' . $PHPDateArray['hour'] . ':' . $PHPDateArray['minute'] . ':' . $PHPDateArray['second']);
            }
        }

        return Functions::VALUE();
    }
public static function TIMEVALUE($timeValue)
    {
        $timeValue = trim(Functions::flattenSingleValue($timeValue), '"');
        $timeValue = str_replace(['/', '.'], '-', $timeValue);

        $arraySplit = preg_split('/[\/:\-\s]/', $timeValue);
        if ((count($arraySplit) == 2 || count($arraySplit) == 3) && $arraySplit[0] > 24) {
            $arraySplit[0] = ($arraySplit[0] % 24);
            $timeValue = implode(':', $arraySplit);
        }

        $PHPDateArray = date_parse($timeValue);
        if (($PHPDateArray !== false) && ($PHPDateArray['error_count'] == 0)) {
            if (Functions::getCompatibilityMode() == Functions::COMPATIBILITY_OPENOFFICE) {
                $excelDateValue = Date::formattedPHPToExcel(
                    $PHPDateArray['year'],
                    $PHPDateArray['month'],
                    $PHPDateArray['day'],
                    $PHPDateArray['hour'],
                    $PHPDateArray['minute'],
                    $PHPDateArray['second']
                );
            } else {
                $excelDateValue = Date::formattedPHPToExcel(1900, 1, 1, $PHPDateArray['hour'], $PHPDateArray['minute'], $PHPDateArray['second']) - 1;
            }

            switch (Functions::getReturnDateType()) {
                case Functions::RETURNDATE_EXCEL:
                    return (float) $excelDateValue;
                case Functions::RETURNDATE_PHP_NUMERIC:
                    return (int) $phpDateValue = Date::excelToTimestamp($excelDateValue + 25569) - 3600;
                case Functions::RETURNDATE_PHP_OBJECT:
                    return new \DateTime('1900-01-01 ' . $PHPDateArray['hour'] . ':' . $PHPDateArray['minute'] . ':' . $PHPDateArray['second']);
            }
        }

        return Functions::VALUE();
    }
public static function TIMEVALUE ( $ timeValue ) { $ timeValue = trim ( Functions :: flattenSingleValue ( $ timeValue ) , '"' ) ; $ timeValue = str_replace ( [ '/' , '.' ] , '-' , $ timeValue ) ; $ arraySplit = preg_split ( '/[\/:\-\s]/' , $ timeValue ) ; if ( ( count ( $ arraySplit ) == 2 || count ( $ arraySplit ) == 3 ) && $ arraySplit [ 0 ] > 24 ) { $ arraySplit [ 0 ] = ( $ arraySplit [ 0 ] % 24 ) ; $ timeValue = implode ( ':' , $ arraySplit ) ; } $ PHPDateArray = date_parse ( $ timeValue ) ; if ( ( $ PHPDateArray !== false ) && ( $ PHPDateArray [ 'error_count' ] == 0 ) ) { if ( Functions :: getCompatibilityMode ( ) == Functions :: COMPATIBILITY_OPENOFFICE ) { $ excelDateValue = Date :: formattedPHPToExcel ( $ PHPDateArray [ 'year' ] , $ PHPDateArray [ 'month' ] , $ PHPDateArray [ 'day' ] , $ PHPDateArray [ 'hour' ] , $ PHPDateArray [ 'minute' ] , $ PHPDateArray [ 'second' ] ) ; } else { $ excelDateValue = Date :: formattedPHPToExcel ( 1900 , 1 , 1 , $ PHPDateArray [ 'hour' ] , $ PHPDateArray [ 'minute' ] , $ PHPDateArray [ 'second' ] ) - 1 ; } switch ( Functions :: getReturnDateType ( ) ) { case Functions :: RETURNDATE_EXCEL : return ( float ) $ excelDateValue ; case Functions :: RETURNDATE_PHP_NUMERIC : return ( int ) $ phpDateValue = Date :: excelToTimestamp ( $ excelDateValue + 25569 ) - 3600 ; case Functions :: RETURNDATE_PHP_OBJECT : return new \ DateTime ( '1900-01-01 ' . $ PHPDateArray [ 'hour' ] . ':' . $ PHPDateArray [ 'minute' ] . ':' . $ PHPDateArray [ 'second' ] ) ; } } return Functions :: VALUE ( ) ; }
TIMEVALUE.

Returns a value that represents a particular time.
Use TIMEVALUE to convert a time represented by a text string to an Excel or PHP date/time stamp
value.

NOTE: When used in a Cell Formula, MS Excel changes the cell format so that it matches the time
format of your regional settings. PhpSpreadsheet does not change cell formatting in this way.

Excel Function:
TIMEVALUE(timeValue)

@category Date/Time Functions

@param string $timeValue A text string that represents a time in any one of the Microsoft
Excel time formats; for example, "6:45 PM" and "18:45" text strings
within quotation marks that represent time.
Date information in time_text is ignored.

@return mixed Excel date/time serial value, PHP date/time serial value or PHP date/time object,
depending on the value of the ReturnDateType flag
TIMEVALUE .