2013-04-25 44 views
1

解決了我自己的問題。我想用moment.js將秒轉換爲HH:mm:ss。我用下面的代碼,它的工作,但我不知道爲什麼瞬間(0)是一天中的時間設置爲19 00將時刻設置爲0時的19小時偏移量(使用moment.js)

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). 

沒看到什麼大概從7PM/19 00開始有

問題是我輸出時沒有聲明UTC。訣竅如下:

var sTimecode = moment(0).add('seconds', secondsUntilEvent).utc().format("HH:mm:ss"); 

也許有人遇到了同樣的問題(或不)。美好的一天!

回答

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>

顯然,時間相應顯示到瀏覽器的時區

相關問題