我有一个表格(MySQL),其中有一个持续时间(以秒为单位)列
id asset name zone Duration
1 1234 Fred 2 330364
2 1234 Fred 1 78921
3 1234 Fred 3 2211
我需要能够遍历表(使用sql:select或通过函数或jsp中的某些东西),以便秒变为ddd:hh:mm:ss(天,小时,分钟,秒)。
我在创建表的select语句中使用了SEC_TO_TIME,但是该操作在858小时就用完了,所以我认为它必须是一个单独的函数或其他东西。
最简单的方法是什么,我是新手,所以请提供尽可能多的解释。
问候 拉尔夫
答案 0 :(得分:-1)
最好的解决方案是将秒转换为语言,该语言将处理显示的值并在那里进行转换。除非没有其他前端,否则不必在数据库层上执行逻辑。
编辑:您想使用javascript,所以这是对JS的建议。
var seconds = 330364;
var duration = moment.duration(seconds, 'seconds');
var formatted = duration.format("D hh:mm:ss");
console.log(formatted); // 3 19:46:04
<!-- Moment.js library -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>
<!-- moment-duration-format plugin -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-duration-format/1.3.0/moment-duration-format.min.js"></script>