Почему date format дает предупреждение на одном сервере, а на другом-нет?


у меня есть скрипт, который исходит из MySQL, который я упростил, чтобы не помещать полный код. Дело в том, что на одном сервере он вообще не работает, а на моем он дает мне предупреждение (warning).

Вот код:

$fecha = ("2016-02-12 12:06:07");
$fecha = date_format($fecha, 'Y-m-d');

здесь ошибка:

Warning: date_format () expects parameter 1 to be DateTime, string given in C:\Program Files (x86)\Vertrigo\www\scripts\data.php on line 14

 2
php
Author: Alvaro Montoro, 2016-02-12

2 answers

То, что на сервере вы бросаете Warning, а на другом нет, связано с включением или выключением уведомлений. Вы можете попробовать, включив следующую строку в начале вашего кода, чтобы отключить уведомления:

<?PHP
    //Desactivar toda notificación de error
    error_reporting(0);
?>

Теперь, в любом случае, правильный формат для того, что вы пытаетесь, будет следующим:

<?PHP
    $fecha = date_create('2016-02-12 12:06:07');
    $fecha_nueva =  date_format($fecha, 'Y-m-d');

    echo $fecha_nueva;

?>

Попробуйте и расскажите мне С уважением!

 4
Author: Eduardo Munizaga, 2016-02-12 15:39:40

Приветствие, функция date_format() является псевдонимом: DateTime::format(), отлично работает в PHP версии 5 и выше. Я смотрю на что-то из вашего кода, и вы должны поставить еще одно правило, и это для него, чтобы распознать часы, минуты и секунды H:i:s. Я оставляю вам пример;

<?php
  $fecha=date_create("2016-02-12 12:06:07");
  echo date_format($fecha,"Y/m/d H:i:s");
?> 
 0
Author: Christian D. Rodriguez, 2016-02-12 15:53:13