Improve splitting and translating of times BC
This commit is contained in:
@ -378,9 +378,18 @@ final class NodaTimeSplitter {
|
||||
|
||||
$datum = self::clean_input($datum);
|
||||
|
||||
if (preg_match("/^Kr\.\ e\.\ [0-9][0-9][0-9][0-9]$/", $datum)) {
|
||||
$start = "-" . substr($datum, 7, 4);
|
||||
return [$start, $start, "00", "00", "-"];
|
||||
if (preg_match("/^Kr\.\ e\.\ /", $datum)) {
|
||||
if ($output = self::attempt_splitting(substr($datum, 7))) {
|
||||
$start = strval(-1 * intval($output[1]));
|
||||
$end = strval(-1 * intval($output[0]));
|
||||
return [$start, $end, $output[2], $output[3], '-'];
|
||||
}
|
||||
}
|
||||
|
||||
if (preg_match("/^[0-9][0-9][0-9][0-9]\-től(\ |\-)[0-9][0-9][0-9][0-9]\-ig$/", $datum)) {
|
||||
$start = substr($datum, 0, 4);
|
||||
$end = substr($datum, -7, 4);
|
||||
return [$start, $end, "00", "00", "+", ""];
|
||||
}
|
||||
|
||||
if (self::stri_occurs($datum, self::STOP_STRINGS_HUNGARIAN)) {
|
||||
@ -502,23 +511,33 @@ final class NodaTimeSplitter {
|
||||
$end = substr($datum, -4);
|
||||
return [$start, $end, "00", "00", "+", ""];
|
||||
}
|
||||
|
||||
// 303-305 (n. Chr.)
|
||||
if (preg_match("/^[0-9][0-9][0-9]\-[0-9][0-9][0-9]$/", $datum)) { // Hungarian Y-m
|
||||
$start = substr($datum, 0, 3);
|
||||
$end = substr($datum, -3);
|
||||
if ($end > $start) return ["0" . $start, "0" . $end, "00", "00", "+", ""];
|
||||
}
|
||||
|
||||
// 20-30 (n. Chr.)
|
||||
if (preg_match("/^[0-9][0-9]\-[0-9][0-9]$/", $datum)) { // 20-40 (n. Chr.)
|
||||
$start = substr($datum, 0, 2);
|
||||
$end = substr($datum, -2);
|
||||
if ($end > $start) return ["00" . $start, "00" . $end, "00", "00", "+", ""];
|
||||
}
|
||||
|
||||
// 1920
|
||||
if (preg_match("/^[0-9][0-9][0-9][0-9]$/", $datum)) {
|
||||
|
||||
$start = substr($datum, 0, 4);
|
||||
return [$start, $start, "00", "00", "+", ""];
|
||||
|
||||
}
|
||||
|
||||
// 1920
|
||||
if (preg_match("/^[0-9][0-9][0-9]$/", $datum)) {
|
||||
$start = "0" . substr($datum, 0, 3);
|
||||
return [$start, $start, "00", "00", "+", ""];
|
||||
}
|
||||
|
||||
return [];
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user