2012-04-06 4 views
3

У меня есть массив объектов DateTime и вам нужно использовать их как строки в вызове функции. Я пробовал отличить его как $string_datetime = (string)$myDateTimeObject;, но это не работает. Поиск также был бесплодным, так как большинство людей спрашивают, как преобразовать строку в DateTime.Как преобразовать DateTime в строку?

Мой код:

$start_date = new DateTime(); 
$end_date = new DateTime(); 
$end_date = $end_date->modify('+1 day'); 

// Add time range to request 
$request['time_range'] = Array ('start' => $start_date, 
           'end' => $end_date); 

При вызове функции, которая ожидает строку (это вызов API) Я получаю эту ошибку:

Catchable fatal error: Object of class DateTime could not be converted to string

Что такое правильный способ преобразования/извлечения строки из объекта DateTime?

ответ

6

Использование DateTime::format().

+0

Черт. Не могу поверить, что я пропустил это! Благодарю. –

+1

Не принимайте это неправильно, но RTFD: http://www.php.net/manual/en/book.datetime.php –

+2

Кажется, что надзор, который 'DateTime' не может быть неявным образом передан в строку. Лично я использую класс-оболочку, который расширяет его и добавляет метод '__toString()' (который использует 'DateTime :: format()'). Все-таки должна быть собственная функциональность, ИМО. – FtDRbwLXw6

Смежные вопросы