php格式化日期数组

时间:2019-06-06 03:53:05

标签: php arrays date foreach strtotime

我正在尝试创建一个函数,该函数用于格式化位于同一数组中的嵌套数组的日期。我能够找到并回显数组中的值,但是我正在努力将日期格式化为我想要打印的方式。代码设置的方式我有一个函数进入数组,在每个嵌套的数组上进行迭代,并打印出设置在要查找的键上的值。

这很好用,但是我的另一个功能是获取日期并将其格式化为我希望它与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>

1 个答案:

答案 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