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_Object - Fatal编程技术网

使用静态对象与新对象的PHP日期时间

使用静态对象与新对象的PHP日期时间,php,oop,datetime,object,Php,Oop,Datetime,Object,每种方法的优缺点是什么?在哪种情况下,我应该创建一个新对象,什么时候应该使用静态调用?DateTime是个例外吗 在这种情况下,format()的方法调用似乎对这两者都有效 在这种情况下,$dateObj和$dateStatic的工作原理类似: <?php $raw = '22. 11. 1968'; $dateObj1 = new DateTime (); $dateObj2= $dateObj1->createFromFormat('d. m. Y', $raw); echo

每种方法的优缺点是什么?在哪种情况下,我应该创建一个新对象,什么时候应该使用静态调用?DateTime是个例外吗

在这种情况下,
format()
的方法调用似乎对这两者都有效

在这种情况下,
$dateObj
$dateStatic
的工作原理类似:

<?php
$raw = '22. 11. 1968';

$dateObj1 = new DateTime ();
$dateObj2= $dateObj1->createFromFormat('d. m. Y', $raw);
echo 'Start date: ' . $dateObj2->format('Y-m-d') . "\n";

$dateStatic = DateTime::createFromFormat('d. m. Y', $raw);
echo 'Start date: ' . $dateStatic->format('Y-m-d') . "\n";

?>


最好使用静态方法。它的性能会稍好一些。第一种方法是创建一个新的DateTime对象,然后立即用一个新的DateTime对象替换它。没有任何作用。

+1,我可以确认静态方法的速度快了约2倍(实际上,它是date\u create\u from\u格式的别名)