1

我遇到了这个问题,并认为我的服务器很疯狂,但是在 Codepad中对其进行测试后,我遇到了相同的结果。在使用 Datetime 尝试处理我的日期戳后,在尝试格式化回字符串后,我最终与原始日期相差一天零一个月?这里发生了什么疯狂的事情?

这是代码

echo $obj->attributes->timestamp; // output: Jun 25, 2013 11:43:52:875 AM

$date = New \DateTime();

$date->createFromFormat(
    'M j, Y h:i:s:B A',
    $obj->attributes->timestamp
);

echo $date->format('M j, Y'); // output: Jul 24, 2013 
4

1 回答 1

4

public static DateTime DateTime::createFromFormat ( string $format , string $time [, DateTimeZone $timezone ] )

它是静态的并返回 new DateTime,但您使用的不是返回值,而是通过调用DateTime空构造函数创建的当前日期。

PHP 文档中的示例,如何正确使用它:

<?php
$date = DateTime::createFromFormat('j-M-Y', '15-Feb-2009');
echo $date->format('Y-m-d');
于 2013-07-24T20:08:17.117 回答