Проблемы с PHP с DateTime в массиве из API JIRA - PullRequest
0 голосов
/ 24 ноября 2018

Я пытаюсь вывести данные из JIRA в таблицу.У меня работает запрос API, и я получил почти все данные из JIRA и в таблицу, которая мне нужна, я просто не могу вывести дату создания, как она есть в объекте datetime в массиве, иимеет неправильный формат.

    foreach ($ret->issues as $issue)
    {
            $date = new DateTime($issue->fields->created->date);
            $date = $date->format('Y-m-d');
        echo '<tr>
                <td>'.$issue->fields->status->name.'</td>
                <td>'.$date.'</td>
                <td>'.$issue->fields->priority->name.'</td>
                <td>'.$issue->fields->summary.'</td>
                <td>'.$issue->fields->assignee->displayName.'</td>
                </tr>';
    }

Это код PHP для построения таблицы, как вы можете видеть, я пытался отформатировать его с DateTime.

Вот массивесли я умру на $ Issue-> fields-> созданный

    object(DateTime)#318 (3) {
        ["date"]=>
        string(26) "2018-10-22 12:47:02.000000"
        ["timezone_type"]=>
        int(1)
        ["timezone"]=>
        string(6) "-04:00"
      }

я просто не могу вывести эти данные, как $ Issue-> fields-> созданный-> дата показывает мне:

PHP Fatal error:  Cannot use object of type DateTime as array

Именно поэтому я попытался отформатировать его, как указано выше.Теперь я получаю:

PHP Notice:  Undefined property: DateTime::$date

Есть идеи?

1 Ответ

0 голосов
/ 24 ноября 2018

$issue->fields->created уже является DateTime объектом.Чтобы отформатировать это как Y-m-d формат, вы можете просто вызвать format() для этого напрямую:

echo '<tr>
    <td>'.$issue->fields->status->name.'</td>
    <td>'.$issue->fields->created->format('Y-m-d').'</td>
    <td>'.$issue->fields->priority->name.'</td>
    <td>'.$issue->fields->summary.'</td>
    <td>'.$issue->fields->assignee->displayName.'</td>
</tr>';

Если вы хотите преобразовать его в другой часовой пояс, вы также можете сделать это:

$issue->fields->created->setTimezone(new DateTimeZone("UTC"))->format('Y-m-d')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...