_________________________________________________________
|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),以便将其与数据库中的值进行比较,然后将它们显示为sexagesimal(8.30,因为我第一次输入)而不是十进制(8.5,这是我的数据库中保存的值) 因此,如果有直接查询我可以用来获取我的搜索 顺便说一句我无法将我的数据库字段的类型更改为TIME,因为我将其保存为VARCHAR以比较值,因为我正在尝试构建一个考勤系统
答案 0 :(得分:1)
将六进制转换为十进制
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;
}
答案 1 :(得分:0)
<?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;
?>