В для цикла, я использую следующий код для преобразования из одного формата в другой даты:DateTime :: createFromFormat для генерации булевых элементов?
339: $newdate = date_create_from_format('j-M g:i A', $moneyline[$i][date]);
340: echo date_format($newdate, 'Y-m-d');
Согласно var_dump
от $ манилайн [$ я] [дата], моя переменная, как представляется, строка: string(15) "18-Jun 7:05 PM"
Но когда я использую переменную в качестве аргумента для $newdate
конструктора, $newdate
создает логическое согласно vardump: bool(false)
Это означает, s, когда я пытаюсь выполнить строку 340, я получаю следующее сообщение об ошибке:
Warning: date_format() expects parameter 1 to be DateTime, boolean given in /home/andrewmin/andrewmin.com/share/scraping/betting_scraping.php on line 340
Однако, если я изменю линии 339 к:
339: $newdate = date_create_from_format('j-M g:i A', '18-Jun 7:05 PM');
печатает отлично. У кого-нибудь есть идеи о том, почему?
изменения: извините, это не Еогеасп, это для:
for ($i = 2; $i < $array_length; $i++) {
Попробуйте объявить его на дату, например, 'date ($ moneyline [$ i] [date])'. – thegrede
Можете ли вы показать, как выглядит foreach? Я только спрашиваю, потому что мне интересно, нужен ли счет '$ i'. Для меня это не имело никакого значения, но я думаю, что нужно указывать индекс 'date' в' $ moneyline [$ i] [date] ', иначе вы получите предупреждение. Но это не вызвало у меня проблемы. 'date_create_from_format' возвращает' FALSE', если он терпит неудачу. – drew010
@thegrede - я пробовал сделать это: $ currentdate = date ($ moneyline [$ i] [дата]); $ newdate = date_create_from_format ('j-M g: i A', $ currentdate); echo date_format ($ newdate, 'Y-m-d'); К сожалению, та же ошибка. –