Php 格式化日期数组

Php format an array of dates

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

这很好用,但我的另一个功能是获取日期并将其格式化为我希望它使用日期功能打印出来的方式,但没有成功。关于为什么会这样,我有一些想法,但我知道我不知道这就是为什么我希望有人能提供帮助。在此先感谢,我感谢任何试图帮助我的人。我是 php 的新手,所以这是一次有趣的尝试。

我已经使用 php 日期、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>

您需要修改 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