转换输入,然后比较它并以新形式显示结果


convert input then compare it and display result in new form

 _________________________________________________________
|What i must | the value format stored | the result must |
|   type     |      in data base       |   be shown      |
 _________________________________________________________
|  8.30     |            8.5           |     8.30        |
|_________________________________________________________

我正在使用一个 php 搜索页面,我想将结果从 sexagesimal(8.30,当我输入时(转换为十进制 (8.5(,以便将其与数据库中的值进行比较,然后将它们显示为六十进制(8.30,因为我第一次输入(而不是十进制(8.5,这是我数据库中保存的值(。
因此,如果有一个直接查询,我可以用来获取我的搜索。
顺便说一句,我无法将数据库字段的类型更改为 TIME,因为我将其保存为 VARCHAR 以比较值,因为我正在尝试构建一个考勤系统

将六十进制转换为十进制

function convertToDecimal($sexagesimalTime)
{
    if (!empty($sexagesimalTime)) {
        $hms = explode(":", $sexagesimalTime);
        $hours = $hms[0];
        $minutes = $hms[1];
        $decimalTime = $hours + round($minutes / 60, 2);
        return $decimalTime;
    } else {
        $decimalTime = '';
    }
    return $decimalTime;
}

将六十进制转换为十进制

<?php
$sexagesimal = 8.30;
$hour = explode(".",$sexagesimal);
$minutes = $sexagesimal - $hour[0];
$decimalminutes = ($minutes/60)*100;
$decimal = $hour[0] + $decimalminutes;
echo $decimal;
?>

将六十进制转换为十进制

<?php
$decimal = 8.5;
$hour = explode(".",$decimal);
$minutes = $decimal - $hour[0];
$sexagesimalminutes = ($minutes/100)*60;
$sexagesimal = $hour[0] + $sexagesimalminutes;
echo $sexagesimal;
?>