Javascript 转换<;输入类型=";时间“&燃气轮机;浮动小时数JS/PHP的值(作为持续时间)
我有一个数据库表,其中一个字段“Duration”是浮点类型而不是时间,即3.5小时而不是“03:30:00”。这样做是为了提高数据库性能和简化编程。 出于UI原因,我正在将前端表单字段更新为Javascript 转换<;输入类型=";时间“&燃气轮机;浮动小时数JS/PHP的值(作为持续时间),javascript,php,jquery,html,forms,Javascript,Php,Jquery,Html,Forms,我有一个数据库表,其中一个字段“Duration”是浮点类型而不是时间,即3.5小时而不是“03:30:00”。这样做是为了提高数据库性能和简化编程。 出于UI原因,我正在将前端表单字段更新为 <input id="duration" type="time"> 在JS或PHP中: function timeToFloat( $duration ){ $duration = explode(":", $duration); array_pop($duration
<input id="duration" type="time">
在JS或PHP中:
function timeToFloat( $duration ){
$duration = explode(":", $duration);
array_pop($duration);
return $duration[0] + numberFormat( $duration[1] / 60, 2 );
}
有人知道得更清楚吗?只需在MySql中执行即可
选择时间到秒('03:30:00')/3600;
3.5000
除非我误解了你的问题,否则你可以尝试type=“number”如果你只是问如何在插入数据库之前将时间转换为浮动时间,我会问你为什么要在前端而不是后端执行此操作。出于用户界面的原因,我需要根据客户的请求将其设置为type=“time”,但我希望将这些值保持为浮点值,以便于使用和性能。前端/后端并不重要。html5的时间和数字有不同的允许值。如果你的意思是你想把它设为一个浮动,但这是一个时间,我不确定这是可能的。关于前端与后端,从安全的角度来看,这确实有点重要,因为后端完全在您的控制之下,依赖前端为您提供正确的数据是一回事,后端验证输入并将其转换为所需的格式是另一回事。我想这可能可以做到。我可以在插入行时执行此操作吗?比如,“在表(a,b,c)中插入值(1,2,时间到秒('03:30:00')/3600)”?
可以,您可以使用秒到秒转换回时间
function timeToFloat( $duration ){
$duration = explode(":", $duration);
array_pop($duration);
return $duration[0] + numberFormat( $duration[1] / 60, 2 );
}