首页 > 解决方案 > 如何在 PHP 中将数组转换为日期格式?

问题描述

我在 PHP 中得到一个数组:

Array
(
    [1] => 2019
    [2] => 5
    [3] => 7
    [4] => 0
)

其中 [1] 始终是年份,[2] 始终是月份,[3] 始终是日期。

如何将此数组转换为date("Y-m-d")格式?

标签: phpdatetime

解决方案


假设这个数据输入:

$data = [null, 2019, 5, 7, 0];

使用日期时间

$dt = new DateTime(sprintf( "%04d-%02d-%02d", $data[1], $data[2], 
$data[3]));
echo $dt->format('Y-m-d') . "\n";

使用 Sprintf

// use this if you really trust the data
$dt = sprintf( "%04d-%02d-%02d", $data[0], $data[1], $data[2]);
echo $dt . "\n";

使用碳

// Carbon is a fantastic Date and Time class -> https://carbon.nesbot.com/
$dt = \Carbon\Carbon::create($data[0], $data[1], $data[2], 0, 0, 0);
echo $dt->format('Y-m-d') . "\n";

推荐阅读