我有两次像10:00 am
和7:00 pm
。如何从两次计算两小时?
而从这个我想获得总小时数。从那时起,我必须得到9个小时。
我该怎么做?
我与:
爆炸,但随后它从10减去7,并返回结果3这是不正确,因为它应该返回9
我有两次像10:00 am
和7:00 pm
。如何从两次计算两小时?
而从这个我想获得总小时数。从那时起,我必须得到9个小时。
我该怎么做?
我与:
爆炸,但随后它从10减去7,并返回结果3这是不正确,因为它应该返回9
<?php echo strtotime('7:00 pm')-strtotime('10:00 am');?>
获取时间戳差异
编辑
回波(的strtotime('07:00 ') - 的strtotime('10:00'))/(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);
您可以使用PHP的strtotime功能将其转换为UNIX时间,所以你可以做进一步的计算用它。
我认为你可以得到的am
或pm
信息保持!有了这些信息,你可以使if()
更正确!
If()
这是PM,增加12小时,如果不是下午,没有做任何事情。
与您对比的时间做到这一点:
if (pm==1){
time+=12;
}
所以10:00 am = false
这将是10:00 和7:00 pm = true
这将是19:00
19:00 - 10:00 = 9 hours = win
。
我觉得这会帮助你更有效地
<?php echo date('H:i:s',strtotime('7:00 pm')-strtotime('10:00 am'));?>
使用日期时间界面,其简单的
$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->天指多少天差得到,如果我们得到一(1)天那么它加1 * 24(小时)= 24 + 21 46例小时的,但这里DAY1和DAY2包含今天这样,那意味着0 * 24 = 0 + 21 = 21
最后输出:21小时的
但它返回它的时间戳。我想要9号。 – Ahmad 2012-03-16 06:27:46
@Ahmad我已编辑答案 – 2012-03-16 06:36:01
但下午3点--12点返回15.这是不正确的。 – Ahmad 2012-03-16 06:47:46