PHP日期格式使用date_format()无法正常工作

时间:2016-12-22 01:52:08

标签: php

我有一个日期字段,我从WordPress中提取,默认格式为:

16/12/2016

自从我玩PHP以来已经有一段时间,但我记得格式化日期的方式是:stdout

但是当我做的时候

echo date_format($date,"[format syntax]");

如果没有显示日期。

我错过了什么。这改变了吗?

2 个答案:

答案 0 :(得分:0)

当创建数据格式表格字符串使用斜杠格式时,它采用mm / dd / yy(yy)格式。因此,在您的代码中,默认情况下不允许使用前16个,您必须指定从字符串创建的格式。

请注意,当您使用带斜线和短划线的格式(例如02-02-2012 or 02/02/2012)创建新的日期对象时,它必须采用mm/dd/yy(yy)mm-dd-yy(yy)格式(而非英国格式{ {1}})!几个月总是在几年前(美国风格),否则你会得到一个不正确的日期,并可能会出现类似上面的错误(PHP试图解码第13个月时崩溃)。

答案 1 :(得分:0)

由于您的日期不是date_create中可接受的格式,例如mm/dd/yy(yy)mm-dd-yy(yy)

使用php DateTime::createFromFormat函数代替此函数可以检测您

的格式
  

(PHP 5> = 5.3.0,PHP 7)       DateTime :: createFromFormat - date_create_from_format - 根据指定的格式解析时间字符串

$date = '16/12/2016';
$show_date = DateTime::createFromFormat('d/m/Y', $date)->format('F d, y');

Demo