我目前正在处理一个页面,我从数据库表中获取日期时遇到了问题。
看起来,我现在有一个自己的日期时间列的数组。
我的数据库的print_r:
var updatedODataResult = Updated(entity);
updatedODataResult.Request.Headers.Add("Prefer", "return=representation");
return updatedODataResult;
输出:
$projwebt = $viewmanager->getViewPageProjwebtProjekte();
echo "<pre>";
print_r($projwebt);
echo "</pre>";
工作正常:
Array
(
[0] => viewPageProjwebtProjekte Object
(
[id] => 1
[projectnumber] => 1
[name] => Title
[progress] => 37
[status] => 1
[responsible] => user
[customer] => user
[definition] => 1
[effort] => 15
[priority] => 12
[startdate] => DateTime Object
(
[date] => 2016-11-25 00:00:00.000000
[timezone_type] => 3
[timezone] => Europe/Belgrade
)
[targetdate] => DateTime Object
(
[date] => 2017-08-31 00:00:00.000000
[timezone_type] => 3
[timezone] => Europe/Belgrade
)
这里因为 startdate :
而中断 <?php
foreach ( $projwebt as $projobject )
{
?>
<tr class="<?=$projobject->status?>">
<th colspan="2"><h2><a href="#"><?=$projobject->name?></a></h2></th>
<th colspan="2"><h2><?=$projobject->definition?></h2></th>
<th colspan="2"><h2><?=$projobject->progress?>%</h2></th>
</tr>
<?php
}
?>
的DataMapper:
<tr>
<td class="responsible">Zuständig:</td>
<td class="responsibleName"><?=$projobject->responsible?></td>
<td class="effort">Aufwand:</td>
<td><?=$projobject->effort?> MT</td>
<td class="start">Start:</td>
<td class="startDate"><?=$projobject->startdate?></td>
</tr>
viewmanager:
$pageProjwebtProjekte->startdate = $row['startdate'];
$pageProjwebtProjekte->targetdate = $row['targetdate'];
当我选择要显示的日期(面向对象)时,它会中断。
那么有没有办法选择数组startdate / targetdate的日期元素? 我必须在我的课程中设置什么(viewmanager / mapper ...)?
当我尝试显示定义或努力等时,我没有问题。
感谢您一看!
答案 0 :(得分:3)
您有一个DateTime对象,而不是常规数组。做这样的事情:
<?= $startdate = $projobject->startdate->format('Y-m-d'); ?>
答案 1 :(得分:3)
如果要从DateTime对象回显日期,则应使用format方法。
实施例。
echo $projobject->startDate->format('Y-m-d');
您可以在此处查看文档: http://php.net/manual/es/class.datetime.php