PHP DateTime:diff不';无法从包含的文件中工作
我有两个文件index.php和functions.php。Functions.php包含我在index.php中使用的所有函数,除了一个函数外,它工作正常:PHP DateTime:diff不';无法从包含的文件中工作,php,datetime,Php,Datetime,我有两个文件index.php和functions.php。Functions.php包含我在index.php中使用的所有函数,除了一个函数外,它工作正常: function diffSecBetweenDate($dateDebut,$dateFin) { $dateTimeDebut = DateTime::createFromFormat('d/m/y à H\hi',$dateDebut); $dateTimeFin = DateTime::createFromFo
function diffSecBetweenDate($dateDebut,$dateFin)
{
$dateTimeDebut = DateTime::createFromFormat('d/m/y à H\hi',$dateDebut);
$dateTimeFin = DateTime::createFromFormat('d/m/y à H\hi',$dateFin);
$dateDifference = $dateTimeDebut->diff($dateTimeFin);
$seconds = $dateDifference->days * 24 * 60 * 60;
$seconds += $dateDifference->h *3600;
$seconds += $dateDifference->i *60;
$seconds += $dateDifference->s ;
return $seconds;
}
我的建议包括:
include('include/functions.php');
如果我的函数在index.php中,它可以正常工作。如果我的函数在functions.php中,我会得到以下结果:
PHP Fatal error: Call to a member function diff() on a non-object in /var/www/acad/include/functions.php on line 235
所有功能都工作正常
你知道吗
编辑1:
我不知道PHP何时崩溃,但您可以在下面找到我的代码摘录:
$dateReset = '20/03/2012 à 12h00';
$dateNow = new DateTime();
$dateObjectReset = DateTime::createFromFormat('d/m/Y à H\hi',$dateReset);
$dateObjectReset->format('d/m/y à H\hi');
$dateNow = $dateNow->format('d/m/y à H\hi');
$dateObjectReset = $dateObjectReset->format('d/m/y à H\hi');
$referenceT = diffSecBetweenDate($dateObjectReset, $dateNow);
我使用VIM,所以当我移动我的函数时,我会:shit+v=>d=>ctrl-w=>p
所以我不写任何东西,也不能重命名任何东西^^
编辑2:
错误与不同的编码有关
致以最诚挚的问候,您将日期时间传递给函数,并希望在日期时间中对其进行转换。我想这是你的问题。您只需删除以下两行:
$dateTimeDebut = DateTime::createFromFormat('d/m/y à H\hi',$dateDebut);
$dateTimeFin = DateTime::createFromFormat('d/m/y à H\hi',$dateFin);
并使用$DATEFISTH和$dateFin insted。这主要是因为变量(例如
$DATETIMEFISTH
不是DateTime
对象
它应该像这样的东西
$dateTimeDebut= new DateTime();
我发现了错误。。。问题是编码不同的“a”:
createFromFormat('d/m/y à H\hi',$dateDebut)
index.php编码=utf-8
function.php encoding=latin9
如果编码相等,它就工作了 这很奇怪。这真的是你要调用的函数吗?你能演示一个测试用例吗?我刚刚创建了
functions.php
和index.php
,一切正常。你能检查一下每一条路都好吗?函数的名称,调用正确的函数吗?