Как преобразовать ISO8601 в формат даты в php Как конвертировать это (в формате ISO8601): 2014-03-13T09: 05: 50.240Z К этому (в формате MySQL DATE): 2014-03-13 в php? Ответ 1 попробуй это $date = '2014-03-13T09:05:50.240Z'; $fixed = date('Y-m-d', strtotime($date)); Полную документацию по функциям даты можно найти здесь: http://php.net/manual/en/function.date.php Функция PHP "strtotime" не делает ничего, а затем преобразует вашу timestring в временную метку unix. Надеюсь, что смогу помочь :) Ps: На всякий случай strtotime вернется 0 попробуйте использовать это: $date = '2014-03-13T09:05:50.240Z'; $fixed = date('Y-m-d', strtotime(substr($date,0,10))); Ответ 2 С PHP 5.2.0 вы также можете использовать OOP и DateTime() (конечно, если вы предпочитаете ООП): $now = new DateTime("2014-03-13T09:05:50.240Z"); echo $now->format('Y-m-d'); // MySQL datetime format Ответ 3 Просто преобразуйте описание datetime в временную метку Unix, используя с strtotime, а затем пять форматов с использованием форматов даты Попробуйте, это наверняка сработает для вас. $date = '2014-03-13T09:05:50.240Z'; $fixed = date('Y-m-d', strtotime($date)); Ответ 4 Нет причин использовать неэффективные функции времени. Самый эффективный способ - просто обрезать первые 10 символов: substr($date,0,10)
Ответ 1 попробуй это $date = '2014-03-13T09:05:50.240Z'; $fixed = date('Y-m-d', strtotime($date)); Полную документацию по функциям даты можно найти здесь: http://php.net/manual/en/function.date.php Функция PHP "strtotime" не делает ничего, а затем преобразует вашу timestring в временную метку unix. Надеюсь, что смогу помочь :) Ps: На всякий случай strtotime вернется 0 попробуйте использовать это: $date = '2014-03-13T09:05:50.240Z'; $fixed = date('Y-m-d', strtotime(substr($date,0,10)));
Ответ 2 С PHP 5.2.0 вы также можете использовать OOP и DateTime() (конечно, если вы предпочитаете ООП): $now = new DateTime("2014-03-13T09:05:50.240Z"); echo $now->format('Y-m-d'); // MySQL datetime format
Ответ 3 Просто преобразуйте описание datetime в временную метку Unix, используя с strtotime, а затем пять форматов с использованием форматов даты Попробуйте, это наверняка сработает для вас. $date = '2014-03-13T09:05:50.240Z'; $fixed = date('Y-m-d', strtotime($date));
Ответ 4 Нет причин использовать неэффективные функции времени. Самый эффективный способ - просто обрезать первые 10 символов: substr($date,0,10)