javascript - Moment.js 获取 dd :hh:mm:ss format? 中两个日期之间的差异

标签 javascript date momentjs

我正在计算当天晚上 11:59 之前的时间。这是一个例子。

<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.9.0/moment.js"></script>
<script>

    setInterval(function() {

        var now = moment();
        var mid = moment();
        mid = mid.endOf('day');

        var diffHours = mid.diff(now, 'hours');
        var diffMinutes = mid.diff(now, 'minutes');
        var diffSeconds = mid.diff(now, 'seconds');

        console.log(diffHours + "h " + diffMinutes + "m " + diffSeconds + "s");

    }, 1000)

</script>

但是,我希望它会显示一个时间,例如 20h 13m 49s,但我得到的是 20h 1255m 73500s

我知道这几乎按预期工作,但我怎样才能实现我正在寻找的格式?

最佳答案

您需要在每个 diff 之后修改您的 now 变量。

var hours = mid.diff(now, 'hours'); //Get hours 'till end of day
now.hours(now.hours() + hours);
var minutes = mid.diff(now, 'minutes');

关于javascript - Moment.js 获取 dd :hh:mm:ss format? 中两个日期之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28657113/

相关文章:

mysql - 如何在 SQL 中为运行时参数定义日期

使用zsh的日期命令

javascript - 如何使用 momentjs 将澳大利亚/墨尔本时区设置为倒计时器

javascript - 提供 UML 作为带有代码的文档是个好主意吗?

r - 在 R 中处理东部标准时间 (EST) 和东部夏令时 (EDT)

Javascript - 字符串是有效的日期吗? Date.parse 没有捕获它

javascript - 是否可以在 Angular 日期范围选择器中设置动态范围?

javascript - 如何在 jQuery 中添加两个整数值并以 $ amount 输出

javascript - 我对 linereader.on 内的数组所做的更改在外部不可用

javascript - 如何更改 Bootstrap 轮播箭头类