php计算两个时间戳之间相差时间的两种方法

小云云
小云云 原创
2023-03-17 15:10:02 6697浏览

时间戳(timestamp),通常是一个字符序列,唯一地标识某一刻的时间。数字时间戳技术是数字签名技术一种变种的应用。时间在PHP中也是很重要的一个要求,这篇文章我们主要讲了php计算两个时间戳之间相差的日时分秒的两种方法。

推荐手册php完全自学手册

第一种:

/**
 * 计算两个时间戳之间相差的日时分秒
 * @param $unixTime_1 开始时间戳
 * @param $unixTime_2 结束时间戳
 * @return array
 */
function timeDiff($unixTime_1, $unixTime_2) {
    $timediff = abs($unixTime_2 - $unixTime_1);
    //计算天数
    $days = intval($timediff / 86400);
    //计算小时数
    $remain = $timediff % 86400;
    $hours = intval($remain / 3600);
    //计算分钟数
    $remain = $remain % 3600;
    $mins = intval($remain / 60);
    //计算秒数
    $secs = $remain % 60;
    return ['day' => $days, 'hour' => $hours, 'min' => $mins, 'sec' => $secs];
}
//Array (
//    [day] => 1
//    [hour] => 0
//    [min] => 3
//    [sec] => 31
//)
相关文章推荐:
1.php关于日期时间的操作
相关视频推荐:
1.独孤九贱(4)_PHP视频教程

第二种:

/**
 * 计算两个时间戳之间相差的日时分秒
 * @param $date1 开始时间
 * @param $date2 结束时间
 * @return array
 */
function diffDate($date1, $date2) {
    $datetime1 = new \DateTime($date1);
    $datetime2 = new \DateTime($date2);
    $interval = $datetime1->diff($datetime2);
    $time['year'] = $interval->format('%Y');
    $time['month'] = $interval->format('%m');
    $time['day'] = $interval->format('%d');
    $time['hour'] = $interval->format('%H');
    $time['min'] = $interval->format('%i');
    $time['sec'] = $interval->format('%s');
    $time['days'] = $interval->format('%a'); // 两个时间相差总天数
    return $time;
}
//Array (
//    [year] => 00
//    [month] => 1
//    [day] => 2
//    [hour] => 00
//    [min] => 3
//    [sec] => 31
//    [days] => 33
//)

以上就是php计算两个时间戳之间相差的日时分秒的两种方法,希望能帮助到大家。

相关推荐:

php时间戳

时间戳 PHP时间戳使用实例代码

php时间戳函数用法总结

PHP时间戳的实例讲解_PHP教程

php时间戳能表达的最大时间是什么,该如何解决

以上就是php计算两个时间戳之间相差时间的两种方法的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。