秒显示为ddd:hh:mm:ss(mysql和jsp)

vzgqcmou  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(416)

我有一个带有duration(以秒为单位)列的表(mysql)

id   asset  name    zone    Duration
1    1234   Fred    2       330364
2    1234   Fred    1       78921
3    1234   Fred    3       2211

我需要能够遍历表(使用sql:select or 通过一个函数或jsp中的某个东西)所以秒变成ddd:hh:mm:ss(天、小时、分钟、秒)。
我在创建表的select语句中使用了秒到秒的时间,但是这个最大值是858小时,所以我认为它应该是一个单独的函数。
最简单的方法是什么,我是一个新手,所以请提供尽可能多的解释。
向拉尔夫问好

qc6wkl3g

qc6wkl3g1#

最好的解决方案是将秒数转换成处理显示值并在那里转换的语言。除非没有其他前端,否则不需要在数据库层执行逻辑。
编辑:您想使用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>

相关问题