这个适用于格式:0000-00-00
的日期但我需要一个unix时间戳格式的函数
function dateDiff($start, $end) {
$start_ts = strtotime($start);
$end_ts = strtotime($end);
$diff = $end_ts - $start_ts;
return round($diff / 86400);
}
有人可以帮助兄弟吗?
答案 0 :(得分:9)
您可以直接接收这些时间戳作为参数,而不是计算作为参数接收的两个日期的时间戳;即,只需删除对strtotime的调用。
我认为这样的事情可以解决问题:
function dateDiffTs($start_ts, $end_ts) {
$diff = $end_ts - $start_ts;
return round($diff / 86400);
}
Afterall,strotime为您提供与日期对应的时间戳; - )
例如,这个:
var_dump(dateDiffTs(1251151200, 1251410400));
让你3天(1251151200是2009-08-25,而1251410400是2009-08-28)。
如果您在时间戳中也有几个小时,这就有效:
var_dump(dateDiffTs(1251196200, 1251443700));
获得3天(1251196200是2009-08-25 12:30:00,1251443700是2009-08-28 09:15:00)。