From 3f2b9091dcfc4ea5fb6d039ee02a9d1cec307294 Mon Sep 17 00:00:00 2001 From: Joshua Ramon Enslin Date: Sat, 21 Feb 2026 18:29:16 +0100 Subject: [PATCH] Allow splitting "Jahr 1920" --- src/NodaTimeSplitter.php | 4 ++++ tests/NodaTimeSplitterTest.php | 14 ++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/src/NodaTimeSplitter.php b/src/NodaTimeSplitter.php index 7d41375..3b6c445 100644 --- a/src/NodaTimeSplitter.php +++ b/src/NodaTimeSplitter.php @@ -355,6 +355,10 @@ final class NodaTimeSplitter { } } + if (\preg_match("/^(Jahr|Jahre)\ [0-9]{4}$/", $datum)) { + $end = \substr($datum, -4); + return new NodaSplitTime($end, $end); + } if (\preg_match("/^[0-9]{4}\ bis\ [0-9]{4}$/", $datum)) { $start = \substr($datum, 0, 4); $end = \substr($datum, -4); diff --git a/tests/NodaTimeSplitterTest.php b/tests/NodaTimeSplitterTest.php index cb9841a..ebc545e 100644 --- a/tests/NodaTimeSplitterTest.php +++ b/tests/NodaTimeSplitterTest.php @@ -25,6 +25,20 @@ final class NodaTimeSplitterTest extends TestCase { public static function splittableGermanTimeNamesProvider():array { return [ + "Jahr 1920" => [ + "1920", + new NodaSplitTime('1920', '1920', + start_date: '1920-01-01', + end_date: '1920-12-31'), + "1920", + ], + "Jahre 1920" => [ + "1920", + new NodaSplitTime('1920', '1920', + start_date: '1920-01-01', + end_date: '1920-12-31'), + "1920", + ], "1920er Jahre" => [ "1920er Jahre", new NodaSplitTime('1920', '1929',