我正在尝试创建一个函数,该函数用于格式化位于同一数组中的嵌套数组的日期。我能够找到并回显数组中的值,但是我正在努力将日期格式化为我想要打印的方式。代码设置的方式我有一个函数进入数组,在每个嵌套的数组上进行迭代,并打印出设置在要查找的键上的值。
这很好用,但是我的另一个功能是获取日期并将其格式化为我希望它与date函数一起打印出来的方式,只是不行。对于这种情况,我有一些想法,但是我不知道这是为什么我希望有人可以提供帮助。在此先感谢您,感谢任何尝试在此方面提供帮助的人。我是php的新手,所以这是一个有趣的尝试。
我已经使用php date,strtotime和date_create_from_format函数尝试获取日期并将其格式化为想要的日期格式。
// Example clip from array
$Full_List_Of_Recover_Items = array (
0 =>
array (
'ActionTimeStamp' => '2018-07-23 15:17:23'
)
);
// End format would look like July 23, 2018 3:17pm
<?php
function valGet($arr, $value)
{
foreach($arr as $row)
{
foreach($row as $key => $val)
{
if ($key == $value)
{
if ($val == NULL)
echo "empty";
else
echo $val;
}
}
}
}
function timeFormat($timeStamp)
{
// split the array value to set up date
$first = explode(" ", $timestamp);
$second = explode("-", $first);
$third = explode(":", $second);
// format the date and convert it attempt
$stringTime = strtotime("D, F, d, Y, g, i", $timestamp);
$date = date_create_from_format("Y-m-d H:i:s");
echo date($date($stringTime));
}
?>
// invocation on html
<p>
<?php
echo timeFormat(valGet($Full_List_Of_Recover_Items, 'ActionTimeStamp'));
?>
</p>
答案 0 :(得分:0)
您需要修改timeFormat
函数。只需使用strtotime
:
$timeStamp = '2018-07-23 15:17:23';
echo date("F j, Y, g:i a", strtotime($timeStamp)); // prints July 23, 2018, 3:17 pm
在这里,您可以查看所有格式的文档:PHP manual date
参考:strtotime