当前位置: 首页 > 面试题库 >

如何求和N次(HH:MM格式)?

马飞
2023-03-14
问题内容

我正在使用以下示例代码来计算两个不同时间值的总和。现在,我想获得N个时间值的总和。

// numbers for testing
$o="12:59";
$p="0:58";

// display for testing
echo "$o<br />";
echo "$p<br />";
echo AddPlayTime($o,$p);

// FUNCTION - ADD HOURS and MINUTES
function AddPlayTime ($oldPlayTime, $PlayTimeToAdd) {
  $old=explode(":",$oldPlayTime);
  $play=explode(":",$PlayTimeToAdd);

  $hours=$old[0]+$play[0];
  $minutes=$old[1]+$play[1];

  if($minutes > 59){
    $minutes=$minutes-60;
    $hours++;
  }

  if($minutes < 10){
    $minutes = "0".$minutes;
  }

  if($minutes == 0){
    $minutes = "00";
  }

  $sum=$hours.":".$minutes;
  return $sum;
}

问题答案:

这应该可以满足您的需求:

$times 是时间的数组,您可以添加所需的时间

$times = array();

$times[] = "12:59";
$times[] = "0:58";
$times[] = "0:02";

// pass the array to the function
echo AddPlayTime($times);

function AddPlayTime($times) {
    $minutes = 0; //declare minutes either it gives Notice: Undefined variable
    // loop throught all the times
    foreach ($times as $time) {
        list($hour, $minute) = explode(':', $time);
        $minutes += $hour * 60;
        $minutes += $minute;
    }

    $hours = floor($minutes / 60);
    $minutes -= $hours * 60;

    // returns the time already formatted
    return sprintf('%02d:%02d', $hours, $minutes);
}

编辑

我用正确的变量名称编辑了代码。现在更正确了。

希望这可以帮助 :-)



 类似资料:
  • 假设我有一个python脚本: 我该怎么做呢?

  • 问题内容: 因此,以某种方式(玩转),我发现自己使用了regex这样的正则表达式。 从逻辑上讲,对我来说,它应表示: (一个数字正好一次)正好两次,即一个数字正好两次。 但实际上,它似乎仅表示“一个数字仅一次”(因此忽略了)。 使用或相似,可以看到相似的结果。 为什么会这样?它是在regex / Java文档中的某个地方明确声明的,还是只是Java开发人员即时做出的决定,还是一个错误? 还是实际上

  • KK:MM,HH:MM和HH:MM格式有什么区别? 打印:

  • 问题内容: 我使用数据类型将日期和时间存储在数据库中。将日期另存为 我可以从数据库中检索格式的时间,但我想以格式检索它。 我怎样才能做到这一点? 问题答案: 检查DATE_FORMAT函数。

  • 我知道如何通过将两个函数作为输入并输出其合成函数来合成两个函数,但如何返回合成函数f(f(…f(x))?谢谢

  • 问题内容: 我需要更新满足条件的表中的前N行。 我知道我可以执行Update Top N …,但问题是N在@variable中。 UPDATE TOP @N SET …不起作用。 有什么办法可以让我错过吗? 这里没有特定的表定义,因为列的大小无关紧要。如果我可以对一个列的表执行此操作,则可以对我的表执行此操作。 问题答案: 要使用变量时,需要使用parens after子句: