我有这个数组值:
Array
(
[0] => DateTime Object
(
[date] => 2019-01-28 08:19:44
[timezone_type] => 3
[timezone] => Asia/Jakarta
)
)
和PHP:
for($i = 0; $i < $rowsintimespanAccept; $i++)
{
$a = array();
$a[] = DateTime::createFromFormat($createFromFormat, $linesAccept[$i]);
if(count(array_filter($a)) == count($a))
{
echo "<pre>";
print_r($a);
}
}
现在我的问题是如何获得[date]
的价值?
我尝试使用此代码,但是空了。
print_r($a['date']);
已更新
现在我有了这个数组值:
DateTime Object
(
[date] => 2019-01-28 08:21:01
[timezone_type] => 3
[timezone] => Asia/Jakarta
)
DateTime Object
(
[date] => 2019-01-28 08:21:14
[timezone_type] => 3
[timezone] => Asia/Jakarta
)
DateTime Object
(
[date] => 2019-01-28 08:19:44
[timezone_type] => 3
[timezone] => Asia/Jakarta
)
和PHP:
for($i = $readRowAfter; $i < count($linesAccept); $i++)
{
$dateobjAccept = DateTime::createFromFormat($createFromFormat, $linesAccept[$i]);
if($dateobjAccept < $toDateTime && $dateobjAccept > $fromDateTime)
{
$rowsintimespanAccept++;
}
echo "<pre>";
print_r($dateobjAccept);
}
尝试使用此方法:
print_r($dateobjAccept->format('Y-m-j H:i:s'));
但只有结果:2。
答案 0 :(得分:1)
使用print_r()
在DateTime
对象内部查看,它像一个数组一样输出,但是由于它是一个对象,所以不能像数组一样简单地访问它。
您可以使用DateTime::format()
提取任何给定格式的日期,因此在您的情况下$a[0]->format('Y-M-j H:i:s')
将以与您在print_r()
中看到的格式显示日期/时间输出。
来源:Why can't I access DateTime->date in PHP's DateTime class? Is it a bug?