来自DateTime :: createFromFormat的错误结果

时间:2014-07-31 00:28:48

标签: php datetime

我收到一个字符串,表示格式为 YmdHis 的日期。当我把它变成DateTime对象并将其打印出来时,我得到“现在”的时间戳。为什么会这样?

$time = '20140718121314';
$format = 'YmdHis';

$dt = new DateTime();
$dt->setTimeZone(new DateTimeZone('UTC'));
$dt->createFromFormat($format, $time)

$dt->format($format); // equals 20140731001832 (i.e. 'now')

2 个答案:

答案 0 :(得分:1)

createFromFormat是静态方法。用法示例:

$dt = DateTime::createFromFormat($format, $time);

About static methods

答案 1 :(得分:1)

我明白了。这是一个操作顺序问题。必须在 DateTime::createFromFormat()之后设置时区。