From a761a9dfd79346457fb35760407e000c367936cb Mon Sep 17 00:00:00 2001 From: Joshua Ramon Enslin Date: Thu, 7 Jan 2021 11:43:20 +0100 Subject: [PATCH] Stop time splitter for start / end, if common time splitter can be used --- src/NodaTimeSplitter.php | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/NodaTimeSplitter.php b/src/NodaTimeSplitter.php index 6230bdf..cb6ec62 100644 --- a/src/NodaTimeSplitter.php +++ b/src/NodaTimeSplitter.php @@ -997,6 +997,10 @@ final class NodaTimeSplitter { */ public static function attempt_splitting_from_till(string $datum):array { + // Skip 1200-1300 + if (!empty(self::attempt_splitting($datum))) return []; + if (strlen($datum) === 9 and substr($datum, 4, 1)) return []; + if (empty($startEnd = self::check_is_timespan_from_till($datum))) { return []; } @@ -1020,9 +1024,15 @@ final class NodaTimeSplitter { $middle_day = date('Y-m-d', strtotime('+' . $middle_substraction . ' days', strtotime($startDate->format('Y-m-d')))); + $start_name = self::timePartsToTimeName($start); + $end_name = self::timePartsToTimeName($end); + + if (strlen($start_name) === 9 and substr($start_name, 4, 1) === '-') $start_name = substr($start_name, 0, 4); + if (strlen($end_name) === 9 and substr($end_name, 4, 1) === '-') $end_name = substr($end_name, 5, 4); + $output = [ - "start_name" => self::timePartsToTimeName($start), - "end_name" => self::timePartsToTimeName($end), + "start_name" => $start_name, + "end_name" => $end_name, "start_year" => $start[0], "end_year" => $end[1], "counting_time_year" => substr($middle_day, 0, 4),