Mil*_*lic -3 php datetime date-difference
我正在创建PHP函数,该函数将以两种格式返回两个日期之间的差额:2个月,3周,6天,3小时。我尝试使用PHP DateTime类,但是它仅返回Months,Days和Hours,并且我找不到计算Weeks的方法。
这是我的功能:
public function DateTimeDifference($FromDate, $ToDate) {
$FromDate = new DateTime($FromDate);
$ToDate = new DateTime($ToDate);
$Interval = $FromDate->diff($ToDate);
$Difference["Hours"] = $Interval->h;
$Difference["Days"] = $Interval->d;
$Difference["Months"] = $Interval->m;
return $Difference;
}
Run Code Online (Sandbox Code Playgroud)
现在,我需要$ Difference [“ Weeks”]也包含在返回数据中。
编辑:我知道我可以将Days除以7并得到几周,但是结果不正确。例如:2个月,14天,3小时 -当我将14天除以7时,我将得到:2个月,2周,14天,3小时,现在这不是同一时期。
public function DateTimeDifference($FromDate, $ToDate) {
$FromDate = new DateTime($FromDate);
$ToDate = new DateTime($ToDate);
$Interval = $FromDate->diff($ToDate);
$Difference["Hours"] = $Interval->h;
$Difference["Weeks"] = floor($Interval->d/7);
$Difference["Days"] = $Interval->d % 7;
$Difference["Months"] = $Interval->m;
return $Difference;
}
Run Code Online (Sandbox Code Playgroud)