javascript - 将秒转换为 hh :mm:ss

标签 javascript momentjs

我正在尝试使用 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,然后尝试要求它,但该组件不再工作。

最佳答案

clearTimeDatejs 的函数,这是您需要引入的额外依赖项。除非您将 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/

相关文章:

javascript - 使用 Node.js + Express 的全局对象

javascript - 地下天气 API - Forcast 帮助 - Javascript

javascript - iframe 内的 Suitescript

jquery - TypeError : $. fn.dataTable.moment 不是函数

javascript - 如何扩展 moment js?

javascript - 警报弹出窗口 onclick 不起作用

javascript - 谁能解释为什么我收到 map 功能错误

javascript - Moment.js 仅在上周内

momentjs - 使用 Moment.js 进行区域设置检测

javascript - moment 库是否支持时区缩写的翻译,如 EST、IST 等