在PHP中将数字转换为日期并格式化为YYYYMMDD

时间:2016-12-14 10:30:03

标签: php datetime

我想将日期从例如1441065600转换为YYYYMMDD格式。我该怎么做?

$temp = date("Y-m-d",1441065600);
$rel_date = date_format( $temp, "YYYYMMDD");

上面的代码给出了错误:

  

date_format()期望参数1为DateTimeInterface

5 个答案:

答案 0 :(得分:4)

使用date()

简单地写一下:

<?php

echo date('Ymd', 1441065600);

否则,使用DateTime实例:

<?php

echo (new DateTime())->setTimestamp(1441065600)->format('Ymd');

注意:setTimestamp()方法不接受字符串作为参数!否则,您可能希望这样做:

<?php

$english = '1441065600';
$timestamp = strtotime($english);
$date = new DateTime($timestamp);
echo $date->format('Ymd'); // 20161214

描述

  

strtotime() - 将任何英文文本日期时间描述解析为Unix时间戳

     

DateTime - 代表日期和时间

注意:我从UNIX时间戳创建了一个新的DateTime实例,英文文本表示可能会导致错误。

其他格式

我建议您阅读DateTime::format()方法文档以及date()函数文档,以了解有关日期格式的更多信息。

答案 1 :(得分:2)

$date = (new DateTime())->setTimestamp(1441065600);
echo $date->format('Ymd');

答案 2 :(得分:0)

您可以通过预先添加DateTime字符将时间戳传递给@构造函数:

$d = new DateTime('@1441065600');
echo $d->format("Ymd");

请参阅Compound Formats

答案 3 :(得分:0)

date_format是一个函数,其中第一个参数应该是DateTime object,date函数返回字符串。

首先,您需要创建正确的对象。

$date = new DateTime(strtotime(1441065600));

然后使用date_format

对其进行格式化

echo date_format($date,'Ydm');

答案 4 :(得分:0)

在PHP中使用Date函数

echo $temp = date("Y-m-d",1441065600);

结果:

2015-09-01

参考http://php.net/manual/en/function.date.php