У меня есть форма, в которой формат даты равен dd/mm/yyyy .  Для поиска базы данных я исказил формат даты до yyyy-mm-dd .  Но когда я echo это, он показывает 1970-01-01 .  Ниже приведен код PHP: 
 $date1 = $_REQUEST['date']; echo date('Ym-d', strtotime($date1)); 
  Почему это происходит?  Как я могу отформатировать его до yyyy-mm-dd ? 
  Заменить / с - : 
 $date1 = strtr($_REQUEST['date'], '/', '-'); echo date('Ym-d', strtotime($date1)); 
1 января 1970 года – так называемая эпоха Unix. Это дата, когда они начали отсчитывать время Unix . Если вы получите эту дату как возвращаемое значение, это обычно означает, что преобразование вашей даты в временную метку Unix вернуло (почти) нулевой результат. Таким образом, преобразование даты не выполняется. Скорее всего, потому, что он получает неправильный ввод.
  Другими словами, ваш strtotime($date1) возвращает 0, что означает, что $date1 передается в неподдерживаемом формате для функции strtotime. 
Используйте нижеприведенный код для php 5.3+:
 $date = new DateTime('1900-02-15'); echo $date->format('Ym-d'); 
Используйте нижеприведенный код для php 5.2:
 $date = new DateTime('1900-02-15'); echo $date->format('Ym-d'); 
 $date1 = $_REQUEST['date']; if($date1) { $date1 = date( 'Ym-d', strtotime($date1)); } else { $date1 = ''; } 
  Это будет отображаться правильно, если в $date есть действительная date() и ничего не отображать, если нет. 
  Решил проблему для меня. 
наконец, я нашел один код для решения этой проблемы
 date('d/m/Y', strtotime(str_replace('.', '-', $row['DMT_DATE_DOCUMENT'])));