我已经完成了javascript
代码并且运行良好。此脚本获取两个日期之间的差异。现在我想用php
语言编写这个脚本,但它返回错误的值。
我希望通过php
实现这一目标。这是我到目前为止在PHP
中所做的:
$NOW = strtotime("now");
$Time = 151048737944;
function dateDiff($date1, $date2)
{
$diff = abs($date1 - $date2);
if (floor($diff / 31536000000)) {
echo floor($diff / 31536000000) . " year";
} else if (floor($diff / 86400000)) {
echo floor($diff / 2592000000) . " months";
} else if (floor($diff / 86400000)) {
echo floor($diff / 86400000) . " days";
} else if (floor($diff / 3600000)) {
echo floor($diff / 3600000) . " hours";
} else if (floor($diff / 60000)) {
echo floor($diff / 60000) . " minutes";
} else {
echo "now";
}
}
dateDiff($NOW, $Time);
对于151048737944
,它会返回:4 year
答案 0 :(得分:0)
您确定时间戳$Time
是否正确?当与date("y-m-d")
一起使用时,它会打印以下日期1992-12-214,你能确定它是正确的吗?
此外,您应该在php中使用date_diff
而不是转换此javascript,请参阅此处的手册manual date_diff或使用此stackoverflow帖子来计算差异stackoverflow
请参阅以下针对您使用错误{1}}数据的解决方案的更新代码,请参阅下面的正确数据
since time
答案 1 :(得分:0)
使用DateTime差异功能:
$datetime1 = new DateTime('2009-10-11');
$datetime2 = new DateTime('2015-10-13');
$interval = $datetime1->diff($datetime2);
$yearsdifference = $interval->format('%y');
来自docs。