我正在尝试将以下日期时间字符串转换为另一种日期格式&时间。
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');
但它没有显示任何内容。任何建议都受到高度赞赏。
答案 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'
);