【问题标题】:How to get time difference between two time in a same days? [duplicate]如何在同一天获得两个时间之间的时差? [复制]
【发布时间】:2012-08-02 05:47:58
【问题描述】:

我是 CodeIgniter 和 PHP 的新手。
在我的数据库中,我将用户状态存储在 IN 时间和 Out 时间。我想计算该时间意味着用户在特定日期登录的时间。用户可能多次登录或在某一天退出。
如何计算时间?

时间格式为=04:06:37。 如果用户在 04:06:37 登录并在 04:09:37 注销,则时间差为 3 分 0 秒。

【问题讨论】:

    标签: php model-view-controller codeigniter


    【解决方案1】:

    使用strtotime() 将时间转换为时间戳,然后从原始时间减去最近的时间。例如;

    $to_time = strtotime("04:09:37");
    $from_time = strtotime("04:06:37");
    $time_diff = $to_time - $from_time;
    echo gmdate('H:i:s', $time_diff);
    

    【讨论】:

    • 那是 rgt 但在特定的日子里,用户可能不止一次 IN 或 OUT,我希望在一个日期内计算一整天的时间。
    【解决方案2】:

    DateTime::diff() 函数可以满足您的需求。

    例如

    $login    = new DateTime('2012-09-04 14:00:00');
    $logout   = new DateTime('2012-09-04 16:00:00');
    $interval = $logout->diff($login);
    echo $interval->format('%H hours %i minutes %s seconds');
    

    【讨论】:

    • @JigarPandya 我撤回了您的编辑,因为它错误只总结了几分钟。其余的会发生什么? OP 可以自己搞定剩下的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-15
    • 2021-12-28
    • 1970-01-01
    • 2013-10-14
    • 2020-03-04
    • 1970-01-01
    相关资源
    最近更新 更多