2014-09-25 2 views
-1

Результатом этого является «недопустимый формат даты». Что я делаю не так?DateTime :: createFromFormat() не работает на простом примере

$startTimestamp = DateTime::createFromFormat("YYYY-mm-dd","2014-07-25"); 
if (FALSE===$startTimestamp) { 
    die('invalid date format'); 
} 
+0

См [Документы] (http://www.php.net/manual/en/function.date.php) для кодов формата –

+0

Docs говорит H для 24-часового формата часа с ведущими нулями и i для минут с ведущими нулями, но я все еще получаю ошибку синтаксического анализа с этим 'DateTime :: createFromFormat (" Ymd H: i "," 2014-07-25 23:59 " , DateTimeZone :: UTC). На веб-сайте php.net имеется 3 или 4 разных формата даты и времени. Чрезвычайно сбивает с толку. –

+0

Ошибка синтаксиса, скорее всего, будет синтаксической ошибкой, а не недопустимым форматом даты. –

ответ

2

Вы используете неправильные идентификаторы даты. Только один Y, m и d необходимы:

$startTimestamp = DateTime::createFromFormat("Y-m-d","2014-07-25"); 
+0

Спасибо, вот и все. Что случилось с моими часами и минутами? $ startTimestamp = DateTime :: createFromFormat («Y-m-d H: m», «2014-07-25 23:59», DateTimeZone :: UTC); Я тоже пробовал HH: мм. –

+0

'H: i'. 'i' - это минуты. 'm' длится несколько месяцев. –