PHP 来自 JIRA 的数组中的 DateTime 问题 api
PHP Issues with DateTime in array from JIRA api
我正在尝试将数据从 JIRA 中取出并放入 table。我已经让 API 请求正常工作,并且我已经从 JIRA 中获取了几乎所有数据并进入了我需要的 table数组中的日期时间对象,格式不正确。
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>';
}
这是构建 table 的 PHP 代码,如您所见,我已尝试使用 DateTime 对其进行格式化。
如果我死于 $issue->fields->created
,这是数组
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->created->date 显示我似乎无法获取数据:
PHP Fatal error: Cannot use object of type DateTime as array
这就是为什么我尝试将其格式化为上面的原因。现在我得到:
PHP Notice: Undefined property: DateTime::$date
有什么想法吗?
$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')
我正在尝试将数据从 JIRA 中取出并放入 table。我已经让 API 请求正常工作,并且我已经从 JIRA 中获取了几乎所有数据并进入了我需要的 table数组中的日期时间对象,格式不正确。
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>';
}
这是构建 table 的 PHP 代码,如您所见,我已尝试使用 DateTime 对其进行格式化。
如果我死于 $issue->fields->created
,这是数组 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->created->date 显示我似乎无法获取数据:
PHP Fatal error: Cannot use object of type DateTime as array
这就是为什么我尝试将其格式化为上面的原因。现在我得到:
PHP Notice: Undefined property: DateTime::$date
有什么想法吗?
$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')