使用php将日期时间转换为另一种格式

时间:2016-12-16 11:34:28

标签: php datetime

我正在尝试将以下日期时间字符串转换为另一种日期格式&时间。

Thu Dec 15 10:05:14 +0000 2016

12月15日

我的代码是

created_at = 'Thu Dec 15 10:05:14 +0000 2016';
$new_dt = date_format(strtotime($created_at),'jS F');

但它没有显示任何内容。任何建议都受到高度赞赏。

1 个答案:

答案 0 :(得分:1)

date_format()DateTime::format()的别名,它接受DateTimeInterface个实例(例如DateTime 对象),而不是原始UNIX时间戳。< / p>

此外,依赖strtotime()之类的“魔术”功能一般都很糟糕。

您需要的是以下内容:

$new_dt = DateTime::createFromFormat('D M d H:i:s O Y', $created_at)
          ->format('jS F');

或者如果你真的坚持使用程序式函数:

$new_dt = date_format(
    date_create_from_format('D M d H:i:s O Y', $created_at),
    'jS F'
);