我试图用strtotime()
删除1小时但没有成功。
值$taskentry['date_start']
:2017-11-02 02:19:59
值$taskentry['date_end']
:2017-11-02 02:32:06
<?php
$cut = 3600;
$date_start = strtotime($taskentry['date_start']);
$date_end = strtotime($taskentry['date_end']);
$total = ($date_end - $date_start) - $cut;
if($total < 0){
echo '0';
}else{
echo date("H:i:s", $total);
}?>
结果应该返回12:07
但它返回0.我也尝试过
$cut = strtotime('-60min') and $cut = strtotime('-1 hour');
返回相同的结果。
欢迎任何建议。
答案 0 :(得分:0)
if($total > 0)
将小于符号的值更改为大于符号
答案 1 :(得分:0)
您的代码没有任何问题 开始和结束之间的时差小于一小时 然后你减去一个小时,这意味着它是一个负数 然后你说它是负输出“0”。
代码完全符合预期。
看到这里有一个多小时的差异:
$cut = 3600;
$date_start = strtotime("2017-11-02 02:19:59");
$date_end = strtotime("2017-11-02 03:32:06");
$total = ($date_end - $date_start) - $cut;
if($total < 0){
echo '0';
}else{
echo date("H:i:s", $total);
}
输出:
01:12:07
答案 2 :(得分:0)