我需要从php数组格式化日期时间,我是这样从mysql收到的:
Array(
[0] => Array
(
[Holidays] => DateTime Object
(
[date] => 2018-01-01 00:00:00.000000
[timezone_type] => 3
[timezone] => Europe/Berlin
)
) )
但是我需要这样的新数组:
Array
(
[0] => 2018-12-31
[1] => 2018-12-07
)
看到这样的帖子,但没有datetimeobject
答案 0 :(得分:0)
尝试使用此http://php.net/manual/en/datetime.format.php
foreach ($dates as $date) {
echo $date->format('Y-m-d');
}
答案 1 :(得分:0)
假设您的数组是这样的:
$array=array("2018-01-01 00:00:00.000000","2018-02-01 06:10:59.000000");
您可以尝试使用Date和strtotime格式化数据
foreach($array as $date){
echo "Date Format: ".Date('Y-m-d',strtotime($date))."<br>";
echo "Datetime Format: ".Date('Y-m-d H:i:s',strtotime($date))."<br>";
}
我希望它可以帮助C:
答案 2 :(得分:0)
假设数组中的所有元素均与问题中显示的一样,则只需使用array_map
即可翻译数组。例如:
$a = array(array('Holidays' => new DateTime('2018-01-01', new DateTimeZone('Europe/Berlin'))),
array('Holidays' => new DateTime('2018-01-26', new DateTimeZone('Australia/Sydney'))));
print_r($a);
$a = array_map(function ($v) { return $v['Holidays']->format('Y-m-d'); }, $a);
print_r($a);
输出:
Array (
[0] => 2018-01-01
[1] => 2018-01-26
)