我想将日期从例如1441065600转换为YYYYMMDD
格式。我该怎么做?
$temp = date("Y-m-d",1441065600);
$rel_date = date_format( $temp, "YYYYMMDD");
上面的代码给出了错误:
date_format()
期望参数1为DateTimeInterface
答案 0 :(得分:4)
简单地写一下:
<?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