Преобразование даты PHP в strtotime

У меня есть array котором каждая запись имеет поле 'date' . Даты в этом формате: '10/09/2015' . Когда я использую strtotime в эти даты, некоторые из них выходят как false . Я думал, что была ошибка в структуре данных, поэтому я создал этот простой array и простой цикл foreach , и в некоторых случаях они выводят false . Что это не нравится?

 $dates = []; $someData = [ '21/05/2014', '22/05/2014', '09/06/2014', '04/07/2014', ]; foreach($someData as $date) { $dates[] = strtotime($date); } print_r($dates);die; 

Вам нужно понять здесь формат даты вашей даты. Здесь m/d/Y считается стандартным форматом американской даты.

Поэтому, когда ваша дата похожа

 '09/06/2014',//it should be considered as 06 september 2014 '04/07/2014',//it should be considered as 07 april 2014 

И когда ваша дата похожа на

 '21/05/2014', '22/05/2014', 

Тогда указанная дата не соответствует стандартам Американского формата даты, т. Е. m/d/Y вместо того, что вы можете сделать здесь, – это замена / вместе с - которая преобразует вашу дату в европейский формат даты, который является dmY

Знать даты в форматах m / d / y или dmy; если разделитель является косой чертой (/), то предполагается, что американский m / d / y. Если разделитель является тире (-) или точкой (.), Тогда предполагается европейский формат dmy. Чтобы избежать возможных ошибок, вы должны указать даты YYYY-MM-DD или date_create_from_format (), когда это возможно.