首页 > 解决方案 > 比较两次并在php中获得分钟小时的差异

问题描述

我想比较 12 小时格式的两次,但在比较之前,我已转换为 strtotime 并将转换后的值传递给函数并进行比较,但即使有 60 分钟的时间差,输出仍返回 0 输出。

<?php 

function timediff($start, $end)
{
    if($end >= $start) {
        return (round(($end-$start)/3600, 0))." Hrs ".((($end-$start)%3600)/60)." Min"; // time should be in queue
    } else {
        return (round(($start-$end)/3600, 0))." Hrs ".((($start-$end)%3600)/60)." Min";
    }
}

echo timediff(strtotime('09: am'), strtotime('08: am'));

标签: phptime

解决方案


你应该传递一个有效的时间字符串,试试看

function timediff($start, $end) {
    if ($end >= $start) {
        return (round(($end - $start) / 3600, 0)) . " Hrs " . ((($end - $start) % 3600) / 60) . " Min";
    } else {

        return "-" . (round(($start - $end) / 3600, 0)) . " Hrs " . ((($start - $end) % 3600) / 60) . " Min";
    }
}

echo timediff(strtotime('09:00 am'), strtotime('08:00 am'));

推荐阅读