X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FUtil%2FDateTimeFormat.php;h=862ce6e9affe08e0e87b6df66d1700c442ba8597;hb=b5ad8c3e153976cf3e63753597377f09852d98d7;hp=b790e1f6411aa77ed4f2105ce3b77924ba4e544c;hpb=0a7c9c66b534bf377189a5c1d1eadd0e20bf196a;p=friendica.git diff --git a/src/Util/DateTimeFormat.php b/src/Util/DateTimeFormat.php index b790e1f641..862ce6e9af 100644 --- a/src/Util/DateTimeFormat.php +++ b/src/Util/DateTimeFormat.php @@ -135,7 +135,7 @@ class DateTimeFormat $s = 'now'; } - $s = self::fixDateFormat($s); + $s = self::fix($s); /* * Slight hackish adjustment so that 'zero' datetime actually returns what is intended @@ -178,10 +178,11 @@ class DateTimeFormat /** * Fix weird date formats * + * @see \Friendica\Test\src\Util\DateTimeFormatTest::dataFix() for a list of examples handled by this method. * @param string $dateString * @return string */ - private static function fixDateFormat(string $dateString): string + public static function fix(string $dateString): string { $patterns = [ ['#(\w+), (\d+/\d+/\d+) - (\d+:\d+)#', '$1, $2 $3'], @@ -189,12 +190,14 @@ class DateTimeFormat ['#(\d+-\d+-\d+)T(\d+:\d+:\d+\.\d+)ZZ#', '$1T$2Z'], ['#(\w+), (\d+ \w+ \d+) (\d+:\d+:\d+) (.+)#', '$2 $3 $4'], ['#(\d+:\d+) (\w+), (\w+) (\d+), (\d+)#', '$1 $2 $3 $4 $5'], + ['#(\w+ \d+, \d+) - (\d+:\d+)#', '$1, $2'], + ['~(\d+-\d+-\d+)T(\d+:\d+:\d+)+(\d+:\d+)~', '$1T$2+$3'], ]; foreach ($patterns as $pattern) { $dateString = preg_replace($pattern[0], $pattern[1], $dateString); } - + return $dateString; }