duanou9758 2013-07-16 17:38
浏览 90
已采纳

PHP计算产生负数?

with the following values:

$a[0] = "4:00:00 am"
$b[0] = "8:00:00 am"
$c[0] = "9:00:00 am"
$d[0] = "1:22:00 pm"

why would the second if statement result in a -8 value being written to database? The first if statement results in the appropriate 4 hours value, but not the second. Is it because of the am/pm change or something?

if (!$a[0]=="" AND !$b[0]=="") {
   $start = explode(':', $a[0]);
   $end = explode(':', $b[0]);
   $total_hours = $end[0] - $start[0] - ($end[1] < $start[1]);
   mysqli_query($con,"UPDATE timeclock SET daily_hours='$total_hours' WHERE idex='$data[idex]' AND date='$date' AND status='slunch'");
}

if (!$c[0]=="" AND !$d[0]=="") {
   $start = explode(':', $c[0]);
   $end = explode(':', $d[0]);
   $total_hours = $end[0] - $start[0] - ($end[1] < $start[1]);
   mysqli_query($con,"UPDATE timeclock SET daily_hours='$total_hours' WHERE idex='$data[idex]' AND date='$date' AND status='ework'");
}
  • 写回答

3条回答 默认 最新

  • drnx3715 2013-07-16 17:41
    关注

    Because 1pm - 9am is the equivalent of 1 - 9, which is -8. You need to convert your PM times to a 24 hour clock, e.g.

    1pm -> 13
    9am -> 9
    
    13 - 9 = 4
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)
  • ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。