如何从两次计算两个小时?

时间:2012-03-16 06:17:18

标签: php time hour

我有两次像10:00 am7:00 pm

从此我想得到总时数。从那时起,我必须得到9个小时。

我将如何做到这一点?

我已经使用:将其爆炸但是它从10减去7并返回结果3,这是不正确的,因为它应该返回9。

5 个答案:

答案 0 :(得分:4)

<?php echo  strtotime('7:00 pm')-strtotime('10:00 am');?>

获取时间戳差异

修改

echo(strtotime('07:00 pm') - strtotime('10:00 am'))/(60 * 60); //显示9

60 * 60 = 1小时

修改

$fromTime = '3:00 pm';
$toTime = '12:00 am';
$timediff   =   (strtotime($toTime)-strtotime($fromTime))/(60*60);
echo $timediff >= 0 ?  $timediff : (24 + $timediff);

答案 1 :(得分:1)

您可以使用PHP的strtotime函数将其转换为unix时间,因此您可以使用它进行进一步的计算。

答案 2 :(得分:1)

我假设您可以获取ampm信息!有了这些信息,您可以if()使其正确无误!

If()它是PM,增加12小时,如果不是PM,则不做任何事情。

在你比较的时候这样做:

if (pm==1){
time+=12;
}

所以10:00 am = false将是10:00 和7:00 pm = true它将是19:00

19:00 - 10:00 = 9 hours = win

答案 3 :(得分:1)

我觉得这会更有效地帮助你

<?php echo  date('H:i:s',strtotime('7:00 pm')-strtotime('10:00 am'));?>

答案 4 :(得分:0)

使用DateTime界面,简单

    $day1= new DateTime("today 01:33:26am");
    $dayd2= new DateTime("today 10:40:36pm");         //Output: Hours: 21
    $interval= $day1->diff($day2);
    $h =  ($interval->days * 24) + $interval->h;
    echo "Hours: ".$h

下面 h =小时数。 $ interval-&gt;天意味着如果我们得到一(1)天然后它会增加1 * 24(小时)= 24 + 21 = 46小时,但是这里第1天和第2天包含今天所有,这意味着0 * 24 = 0 + 21 = 21

最后输出:21小时