PHP DateTime возвращает false при передаче формата в качестве переменной - PullRequest
0 голосов
/ 04 апреля 2019

Я пытаюсь создать объект даты из строки даты, но получаю false, если я передаю строку формата в качестве переменной.

Я пытался передать ее как строку 'Y-m-d', и она работает как положено.

Рабочая:

// $date_str = '2019-03-05';

function isValidDateFormat($date_str){
      var_dump(DateTime::createFromFormat('Y-m-d', $date_str));
}

/* prints:

object(DateTime)[64]
  public 'date' => string '2019-03-05 06:07:53' (length=19)
  public 'timezone_type' => int 3
  public 'timezone' => string 'America/Toronto' (length=15)
*/

Не работает:

// $date_str = '2019-03-05';
// $format can be different based on user's choice

function isValidDateFormat($date_str, $format='Y-m-d'){
     var_dump(DateTime::createFromFormat($format, $date_str)); // prints boolean false
}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...