我正在尝试使用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 is not a function
我也试着用时间:
function secondsToHms(d) {
return moment().startOf('day')
.seconds(d)
.format('H:mm:ss');
}
我收到了错误:
时刻未定义
我用npm install moment --save
安装了一下,然后试图要求它,但该组件不再工作了。
答案 0 :(得分:2)
clearTime
是Datejs
的函数,这是您需要引入的附加依赖项。除非您将DateJs链接到您的代码,例如包括
<script src="https://cdnjs.cloudflare.com/ajax/libs/datejs/1.0/date.min.js"></script>
在<head>
块中,您会看到该方法不存在的错误。
您可能希望改为使用标准库函数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
中运行这两种方法答案 1 :(得分:1)