У меня есть строка датыPHP преобразование формата даты '/' на '-'
$date = '27/02/2015';
Мой выход желание 2015-02-27 Так я попытался это
$newDate = date('Y-m-d',strtotime($date));
Но i дал 1969-12-31 Я пропустил что-нибудь
У меня есть строка датыPHP преобразование формата даты '/' на '-'
$date = '27/02/2015';
Мой выход желание 2015-02-27 Так я попытался это
$newDate = date('Y-m-d',strtotime($date));
Но i дал 1969-12-31 Я пропустил что-нибудь
Это должно работать для вас:
<?php
$date = '27/02/2015';
$d = DateTime::createFromFormat("d/m/Y", $date);
echo $d->format("Y-m-d");
?>
Выход:
2015-02-27
С /
не стандартный формат даты и времени Попробуйте заменить его -
$date = '27/02/2015';
echo $newDate = date('Y-m-d',strtotime(str_replace('/', '-', $date)));//2015-02-27
Но это будет, когда «02/27/2015», даже без замены – vijaykumar
Просто взорвать эту строку:
list($d,$m,$y) = explode('/',$date);
И переконфигурировать как:
$newDate = "$y-$m-$d";
Работает нормально. Но в чем проблема с/и - символами – vijaykumar
@ vijay4vijju Проблема заключается в 'strtotime()' считает, что ваш формат - США, вы можете видеть это в [doc] (http://php.net/manual/en/ function.strtotime.php) внизу в примечаниях, которые вы можете прочитать об этом (например, он смотрит на разделитель так: '/' -> america -> 'm/d/y', поэтому вы получаете неправильный вывод) – Rizier123
я получил свою проблему – vijaykumar