@@ -917,6 +917,23 @@ final class NodaTimeSplitter {
|
|||||||
$output->counting_time_indicator, NodaTimeBeforeAfterIndicator::until, '?', $output->end_date);
|
$output->counting_time_indicator, NodaTimeBeforeAfterIndicator::until, '?', $output->end_date);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (str_ends_with($datum, "terminus ante quem")) {
|
||||||
|
if (($spacePos = \strrpos($datum, " ", -15)) === false) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if ($output = self::attempt_splitting(\substr($datum, 0, $spacePos))) {
|
||||||
|
return self::_turn_noda_split_time_to_before($output);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (\str_ends_with($datum, "termiusost quem")) {
|
||||||
|
if (($spacePos = strrpos($datum, " ", -10)) === false) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if ($output = self::attempt_splitting(\substr($datum, 0, $spacePos))) {
|
||||||
|
return new NodaSplitTime($output->start_year, '?', $output->counting_time_month, $output->counting_time_day,
|
||||||
|
$output->counting_time_indicator, NodaTimeBeforeAfterIndicator::since, $output->start_date, '?');
|
||||||
|
}
|
||||||
|
}
|
||||||
// Ends beginning with a hyphen
|
// Ends beginning with a hyphen
|
||||||
if (\preg_match("/\-ig(\.|)$/", $datum)) {
|
if (\preg_match("/\-ig(\.|)$/", $datum)) {
|
||||||
if (($spacePos = strrpos($datum, "-")) === false) {
|
if (($spacePos = strrpos($datum, "-")) === false) {
|
||||||
|
|||||||
@@ -764,6 +764,19 @@ final class NodaTimeSplitterTest extends TestCase {
|
|||||||
self::assertEquals($output->toTimeName(), "1920-1929");
|
self::assertEquals($output->toTimeName(), "1920-1929");
|
||||||
self::assertEquals(NodaTimeSplitter::timePartsToCountingYear($output), 1925);
|
self::assertEquals(NodaTimeSplitter::timePartsToCountingYear($output), 1925);
|
||||||
|
|
||||||
|
$output = NodaTimeSplitter::attempt_splitting("2020 (terminus ante quem)");
|
||||||
|
self::assertNotEmpty($output);
|
||||||
|
self::assertEquals($output->toOldFormat(), [
|
||||||
|
0 => "?",
|
||||||
|
1 => "2019",
|
||||||
|
2 => "00",
|
||||||
|
3 => "00",
|
||||||
|
4 => "+",
|
||||||
|
5 => "Vor",
|
||||||
|
]);
|
||||||
|
self::assertEquals($output->toTimeName(), "Vor 2020");
|
||||||
|
self::assertEquals(NodaTimeSplitter::timePartsToCountingYear($output), 2020);
|
||||||
|
|
||||||
$output = NodaTimeSplitter::attempt_splitting("Vor Dezember 2020");
|
$output = NodaTimeSplitter::attempt_splitting("Vor Dezember 2020");
|
||||||
self::assertNotEmpty($output);
|
self::assertNotEmpty($output);
|
||||||
self::assertEquals($output->toOldFormat(), [
|
self::assertEquals($output->toOldFormat(), [
|
||||||
@@ -1271,6 +1284,20 @@ final class NodaTimeSplitterTest extends TestCase {
|
|||||||
self::assertEquals($output->toTimeName(), "Seit 1920");
|
self::assertEquals($output->toTimeName(), "Seit 1920");
|
||||||
self::assertEquals(NodaTimeSplitter::timePartsToCountingYear($output), 1920);
|
self::assertEquals(NodaTimeSplitter::timePartsToCountingYear($output), 1920);
|
||||||
|
|
||||||
|
// From 1920 onwards
|
||||||
|
$output = NodaTimeSplitter::attempt_splitting("1926 (termius post quem)");
|
||||||
|
self::assertNotEmpty($output);
|
||||||
|
self::assertEquals($output->toOldFormat(), [
|
||||||
|
0 => "1926",
|
||||||
|
1 => "?",
|
||||||
|
2 => "00",
|
||||||
|
3 => "00",
|
||||||
|
4 => "+",
|
||||||
|
5 => "Seit",
|
||||||
|
]);
|
||||||
|
self::assertEquals($output->toTimeName(), "Seit 1926");
|
||||||
|
self::assertEquals(NodaTimeSplitter::timePartsToCountingYear($output), 1926);
|
||||||
|
|
||||||
$output = NodaTimeSplitter::attempt_splitting("III. század");
|
$output = NodaTimeSplitter::attempt_splitting("III. század");
|
||||||
self::assertNotEmpty($output);
|
self::assertNotEmpty($output);
|
||||||
self::assertEquals($output->toOldFormat(), [
|
self::assertEquals($output->toOldFormat(), [
|
||||||
|
|||||||
Reference in New Issue
Block a user