Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP日期时间更新_Php_Oop_Datetime - Fatal编程技术网

PHP日期时间更新

PHP日期时间更新,php,oop,datetime,Php,Oop,Datetime,我使用的是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() 我可以在那个类中使用其他函数 第二件事是我对如何更新对象初始日期感到困惑,还是我必须创建一个新

我使用的是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()

我可以在那个类中使用其他函数


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

createFromFormat
是一个
DateTime
的静态方法,因此您需要像这样调用它:

$t = DateTime::createFromFormat('Y-m-d', '2012-06-11');
您可以通过执行以下操作来更新初始的
$date
对象:

$date = DateTime::createFromFormat('Y-m-d', '2012-06-11');
是否使用过程(非OOP)样式


是否为您工作?

日期时间::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);

是的,我是对的…月食问题: 当我在调试模式下运行phpinfo时,我发现它是以PHP5.2运行的, 更改了项目设置和presto!所有功能都在那里


谢谢大家的宝贵意见!!就像在stackoverflow中提问一样:)

Ryan,错误是“未定义的方法”,所以可能不仅仅是因为静态错误,对吧?@Ryan这给出了保存错误。@dnagirl你能举个例子吗……我不确定是否遵循了?@DannyValariola那么使用
strotime
怎么样?非常奇怪的是,
createFromFormat
在php>5.3上不适用于您是的,我知道我可以使用strotime…以前使用过:)错误消息的哪一部分对您来说很难具体理解?@DannyValariola此输出是什么
var_dump(get_class_methods('DateTime')否,如果
\uuuu名称空间\uuuu
是一个未定义的常量,那么就没有PHP5.3。如果是,它实际上会提供额外的信息。聪明,对吧?这是我之前没有发布的一条评论:好吧,你已经澄清了这个函数不存在于那个对象/类中。但你还是坚持要使用不存在的功能,因为手册让你相信一定有这样的功能?这里有一条经验法则:相信地形,而不是地图。也就是说:接受你所面对的。下一部分是仔细看看为什么不存在该函数。您可以配置要在ecplise中使用的PHP解释器。不知道您的配置,但您只需要使用PHP5.3版本。将它安装到您的系统上,帮助eclipse查找并完成。如果运行此操作,您将看到
$t
不是DateTime对象。这是一个布尔值错误。这是因为格式必须与日期字符串的格式匹配。实际上我想使用DateTime。。。
$mydate= new DateTime($datestring);