_________________________________________________________
|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;
?>