我正在尝试使用 JavaScript 将秒转换为 hh:mm:ss
格式。我发现了很多关于此的主题,例如 this one ,但我在实现这一点时仍然遇到困难。
这是我的代码:
function buildList(item, index) {
....
var listItemTime = $('.time', listItem);
listItemTime.html(secondsToHms(item.time));
$('#dataList').append(listItem);
}
function secondsToHms(d) {
var time = (new Date).clearTime()
.addSeconds(d)
.toString('H:mm:ss');
console.log(time);
return time;
}
我收到错误:TypeError: (new Date(...)).clearTime 不是函数
我也尝试过使用时刻:
function secondsToHms(d) {
return moment().startOf('day')
.seconds(d)
.format('H:mm:ss');
}
我得到了错误:
moment is not defined
我使用 npm install moment --save
安装了 moment,然后尝试要求它,但该组件不再工作。
最佳答案
clearTime
是 Datejs
的函数,这是您需要引入的额外依赖项。除非您将 DateJs 链接到您的代码,例如通过包括
<script src="https://cdnjs.cloudflare.com/ajax/libs/datejs/1.0/date.min.js"></script>
在你的<head>
中 block ,你会看到一个错误,该方法不存在。
您可能想改用标准库函数 toTimeString
。其输出结果如下 14:26:27 GMT+0100 (GMT Daylight Time)
.
作为替代方案,如果 HH:mm:ss
格式是必需的,您可以使用以下代码来打印所需的字符串。
function secondsToHms(d) {
var hours = d.getHours().toString().padStart(2, '0')
var minutes = d.getMinutes().toString().padStart(2, '0')
var seconds = d.getSeconds().toString().padStart(2, '0')
return `${hours}:${minutes}:${seconds}`
}
这两个方法都可以在this jsfiddle中看到运行。
关于javascript - 将秒转换为 hh :mm:ss,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49631166/