From 0485693ccd0ba376e696400a9986744eb70592aa Mon Sep 17 00:00:00 2001 From: Joshua Ramon Enslin Date: Wed, 1 Jul 2026 10:24:05 +0200 Subject: [PATCH] Extend time fixer --- src/NodaTimeSplitter.php | 4 ++++ tests/NodaTimeSplitterTest.php | 18 ++++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/src/NodaTimeSplitter.php b/src/NodaTimeSplitter.php index f542d17..2daa12b 100644 --- a/src/NodaTimeSplitter.php +++ b/src/NodaTimeSplitter.php @@ -552,6 +552,10 @@ final class NodaTimeSplitter { $datum = self::clean_input($datum); + if (strlen($datum) === 21 && substr($datum, 10, 1) === '-' && substr($datum, 0, 10) === substr($datum, -10)) { + $datum = substr($datum, 0, 10); + } + // 10000-20000 if (!empty(\preg_match("/^[0-9]{5}(\-|\/)[0-9]{5}$/", $datum))) { return new NodaSplitTime(start_year: \substr($datum, 0, 5), end_year: \substr($datum, -5)); diff --git a/tests/NodaTimeSplitterTest.php b/tests/NodaTimeSplitterTest.php index b67f883..8b6113e 100644 --- a/tests/NodaTimeSplitterTest.php +++ b/tests/NodaTimeSplitterTest.php @@ -71,6 +71,24 @@ final class NodaTimeSplitterTest extends TestCase { end_date: '2020-01-02'), "02.01.2020", ], + "2020-01-02-2020-01-02" => [ + "2020-01-02-2020-01-02", + new NodaSplitTime('2020', '2020', + counting_time_month: '01', + counting_time_day: '02', + start_date: '2020-01-02', + end_date: '2020-01-02'), + "02.01.2020", + ], + "2020-01-02" => [ + "2020-01-02", + new NodaSplitTime('2020', '2020', + counting_time_month: '01', + counting_time_day: '02', + start_date: '2020-01-02', + end_date: '2020-01-02'), + "02.01.2020", + ], "2.1.2020" => [ "2.1.2020", new NodaSplitTime('2020', '2020',