解决了我自己的问题。我想使用moment.js将秒转换为HH:mm:ss。我使用了以下代码,但是我不知道为什么时刻(0)将时间设置为19 00
var yearZero = moment(0).subtract('hours',19); //beginning of time
var sTimecode = yearZero.add('seconds', secondsUntilEvent).format("HH:mm:ss");
来自http://momentjs.com/docs/#/parsing/unix-offset/
moment(Number);
Similar to new Date(Number), you can create a moment by passing an integer value representing the number of milliseconds since the Unix Epoch (Jan 1 1970 12AM UTC).
没有看到任何关于从晚上7点/ 19点开始的事情
问题是我在没有声明UTC的情况下输出它。以下更改起了作用:
var sTimecode = moment(0).add('seconds', secondsUntilEvent).utc().format("HH:mm:ss");
也许其他人遇到了同样的问题(或不是)。美好的一天!
答案 0 :(得分:0)
您可以始终使用矩形构造函数来读取整数,而不是执行如此复杂的变通方法,整数被解释为unix时代的毫秒数。这对我来说很好:
var value = moment(18000 * 1000).format('HH:mm:ss'); // 5 Hours
document.getElementById('date').innerHTML = value;

<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.10.6/moment.min.js"></script>
<pre id="date"></pre>
&#13;
显然,时间会根据浏览器的时区显示