我试图在php中获取当前日期和另一个日期之间的时差,但我得到了错误的结果。 到目前为止,她是我的代码:
function hoursDifference($date)
{
return round((time()- strtotime($date))/3600);
}
输入日期为:2016-03-20 03:55:51但当前时间使用的是24小时格式,因此H为15而不是3,该函数返回正确的12小时时差。我该如何解决这个问题?
答案 0 :(得分:0)
12小时日期而不是24小时日期使用小写' h'。 您还应该看一下像{fusion3k提到的DateTime::diff。
This link还应该帮助您在$ date上使用哪些参数。
答案 1 :(得分:0)
试试这个
function hoursDifference($date)
{
return round(strtotime(date("Y-m-d h:i:s")) - strtotime($date))/3600);
}
答案 2 :(得分:0)
使用DateTime对象: http://php.net/manual/de/class.datetime.php
echo hoursDifference("2016-03-20 12:13:12");
function hoursDifference($date)
{
$d = new DateTime($date);
$now = new DateTime();
$iv = $now->diff($d);
return $iv->h;
}