There is a date of the following type on September 20, 2017, you need to bring it into a view on September 20, 2017 using php. Any idea how to do this?
2 answers
$words = [ "января" => "01", "февраля" => "02", "марта" => "03", "апреля" => "04", "мая" => "05", "июня" => "06", "июля" => "07", "августа" => "08", "сентября" => "09", "октября" => "10", "ноября" => "11", "декября" => "12", ]; $date_string = "20 сентября 2017"; foreach ($words as $name => $num) { if (strpos($date_string, $name)) { $date_formatted = str_replace(array($name,' '), array($num,'.'), $date_string); break; } } Another option:
$date_string = explode(' ', $date_string); $date_formatted = $date_string[0].'.'.$words[$date_string[1]].'.'.$date_string[2]; And so
$patterns = array('/января/','/февраля/','/марта/','/апреля/','/мая/','/июня/','/июля/','/августа/','/сентября/','/октября/','/ноября/','/декября/'); $replace = array('.01.','.02.','.03.','.04.','.05.','.06.','.07.','.08.','.09.','.10.','.11.','.12.'); $date_formatted = preg_replace($patterns, $replace, $date_string); |
$DATE = '9 сентябрь 2017'; // ENG $RusToEng = array( 'января' => 'January', 'февраля' => 'February', 'марта' => 'March', 'апреля' => 'April', 'мая' => 'May', 'июня' => 'June', 'июля' => 'July', 'августа' => 'August', 'сентября' => 'September', 'октября' => 'October', 'ноября' => 'November', 'декабря' => 'December' ); $DATE = str_replace(array_keys($RusToEng), array_values($RusToEng), $DATE); $DT = new DateTime($DATE); var_dump($DT->format('dmY')); - I like the month of
майяXD andдекября=))) - Walfter - And the format of the input date =) September =) And not September =) - Walfter
- But for Maya definitely credited =) - Walfter
- @Walfter happens: D changed the last bugs, but something went wrong - Manitikyl
- one@Walfter take a ride, that's okay, it goes and so, the author himself will be engaged in optimization if necessary. - Manitikyl
|