当时间输入为'xx:00'时,代码不能正常工作


Code not working correctly when time input is 'xx:00'

我有一个允许用户输入持续时间的表单。如果持续时间小于或等于一小时,则向数据库中的字段添加10分钟,如果持续时间大于一小时,则添加15分钟。

我有一个问题与"公式"代码,它不添加15分钟,如果输入有"没有分钟"。例如,如果我输入02:2001:5501:05,它可以完美地工作并增加15分钟,但如果输入02:0003:0004:00等等,它只会增加10分钟。代码如下:

$Duration = $_POST['Duration'];
$parsedDuration = explode(':', $Duration);
$hours = intval($parsedDuration[0]);
$mins  = intval($parsedDuration[1]);
if ($hours > 0 && $mins > 0) {
    echo "Added 15 maintenance minutes!";
    $MaintenanceDuration = strtotime('0:15:00');
} else {
    echo "Added 10 maintenance minutes!";
    $MaintenanceDuration = strtotime('0:10:00');
}
$MaintenanceDuration = strftime('%H:%M', $MaintenanceDuration);
echo $MaintenanceDuration;

如果有人能指出这里的问题,我将不胜感激。

修改if条件

if ($hours > 0 && $mins > 0) to if ($hours > 0 && $mins >= 0)
if (($hours * 60 + $mins) > 60) {
    echo "Added 15 maintenance minutes!";
    $MaintenanceDuration = strtotime('0:15:00');
}
else ...

如果您希望01h00在10min范围内,将> 60更改为>= 60