0

我正在使用 PHP > 5.3,我对 DateTime 有疑问:

首先我无法使用:

$date   = new DateTime('2012-06-08 00:00:00');
$t = $date->createFromFormat('Y/m/d', '2012-06-11 23:59:59');

我收到以下错误消息:

调用未定义的方法 DateTime::createFromFormat()

我可以使用该类中的其他功能。

我对如何更新对象初始日期感到困惑的第二件事,还是我必须创建一个新对象?

4

4 回答 4

6

createFromFormat is a static method of DateTime so you would need to call it like:

$t = DateTime::createFromFormat('Y-m-d', '2012-06-11');

You can update the initial $date object by doing:

$date = DateTime::createFromFormat('Y-m-d', '2012-06-11');
于 2012-06-12T14:05:58.403 回答
2

DateTime::createFromFormat() 当您有非常规格式的日期字符串时最有用。您通过给出奇怪日期字符串的格式来创建一个日期对象,以便它知道如何解析它。像这样:

$datestring= '2012-06-11 23:59:59';
$mydate= DateTime::createFromFormat('Y-m-d H:i:s', $datestring);
echo $mydate->format('Y/m/d');

在您的情况下,日期字符串是标准格式。所以你可以像这样创建你的日期:

$mydate= new DateTime($datestring);
于 2012-06-12T14:09:27.483 回答
1

程序(非 OOP)风格

$t = date_create_from_format('Y/m/d', '2012-06-11 23:59:59');

为你工作?

于 2012-06-12T14:08:29.950 回答
0

是的,我是对的...eclipse 问题:当我从调试模式执行 phpinfo 时,我发现它以 PHP 5.2 运行,更改了项目设置并立即更改!所有功能都在那里!

感谢大家的大力投入!!一如既往地很高兴在stackoverflow中提问:)

于 2012-06-12T16:00:06.477 回答