@@ -693,12 +693,20 @@ private function parseDate(object $header): void {
693693 if (str_contains ($ date , ' ' )) {
694694 $ date = str_replace (' ' , ' ' , $ date );
695695 }
696+ if (str_contains ($ date , ' UT ' )) {
697+ $ date = str_replace (' UT ' , ' UTC ' , $ date );
698+ }
696699 $ parsed_date = Carbon::parse ($ date );
697700 } catch (\Exception $ e ) {
698701 switch (true ) {
699702 case preg_match ('/([0-9]{4}\.[0-9]{1,2}\.[0-9]{1,2}\-[0-9]{1,2}\.[0-9]{1,2}.[0-9]{1,2})+$/i ' , $ date ) > 0 :
700703 $ date = Carbon::createFromFormat ("Y.m.d-H.i.s " , $ date );
701704 break ;
705+ case preg_match ('/([0-9]{2} [A-Z]{3} [0-9]{4} [0-9]{1,2}:[0-9]{1,2}:[0-9]{1,2} [+-][0-9]{1,4} [0-9]{1,2}:[0-9]{1,2}:[0-9]{1,2} [+-][0-9]{1,4})+$/i ' , $ date ) > 0 :
706+ $ parts = explode (' ' , $ date );
707+ array_splice ($ parts , -2 );
708+ $ date = implode (' ' , $ parts );
709+ break ;
702710 case preg_match ('/([0-9]{1,2}\ [A-Z]{2,3}\ [0-9]{4}\ [0-9]{1,2}\:[0-9]{1,2}\:[0-9]{1,2}\ UT)+$/i ' , $ date ) > 0 :
703711 case preg_match ('/([A-Z]{2,3}\,\ [0-9]{1,2}\ [A-Z]{2,3}\ [0-9]{4}\ [0-9]{1,2}\:[0-9]{1,2}\:[0-9]{1,2}\ UT)+$/i ' , $ date ) > 0 :
704712 $ date .= 'C ' ;
0 commit comments