计算自时间戳以来的天数?

时间:2009-09-01 18:29:45

标签: php

这个适用于格式: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);

}

有人可以帮助兄弟吗?

1 个答案:

答案 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)