>我有一个数据库表,其中一个字段 - "持续时间" - 是 FLOAT 类型而不是时间,即 3.5 小时而不是"03:30:00"。这样做是出于数据库性能原因和易于编程。出于 UI 原因,我正在将我的前端表单字段更新为
<input id="duration" type="time">
生成 TIME 格式的值。有没有将时间转换为浮点数的速记方法?
到目前为止,我在想类似的事情
function timeToFloat(){
var buff = $('#duration').val().split(':'); //to array
buff.pop(); //remove seconds
return parseInt(buff[0]) + parseFloat( buff[1] / 60 ).toFixed(2);
}
在 JS 或 PHP 中:
function timeToFloat( $duration ){
$duration = explode(":", $duration);
array_pop($duration);
return $duration[0] + numberFormat( $duration[1] / 60, 2 );
}
有人知道得更好吗?
只需在MySql中执行此操作即可
SELECT TIME_TO_SEC('03:30:00')/3600;
3.5000