1

私自身の問題を解決しました。moment.js を使用して秒を HH:mm:ss に変換したかったのです。次のコードを使用しましたが、これは機能しましたが、moment(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 00 に開始することについては何も見ませんでした

問題は、UTCを宣言せずに出力していたことです。次の変更でうまくいきました。

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

おそらく、他の誰かが同じ問題に遭遇した(または遭遇しなかった)でしょう。良い一日!

4

1 に答える 1

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>

明らかに、時間はブラウザのタイムゾーンに応じて表示されます

于 2015-08-25T18:53:27.523 に答える