JavaScript Dateオブジェクトを使用して、ミリ秒を読み込み可能なminutes:seconds
の書式設定された文字列に変換しています。自分のJSインターフェースがミリ秒の値としてビデオ期間情報を受け取るカスタムビデオプレーヤー用のタイマーを作成する必要があります。不正な値を返すgetHours()
ビデオを59分以上長くする可能性をサポートすることを決める前に、かなり簡単な作業でした。そして、私はこの問題に遭遇しました:新しいDateオブジェクトのコンストラクタにミリ秒の値を渡してからgetHours()
を呼び出すと、ミリ秒数が1時間未満の場合でも何かが返されます。この動作を確認する最も簡単な方法は、たとえば、0
それを供給することである私はそれが0を返すことを期待したいが、それは常にそれがさらに可能オペラ、12(13を返します。奇妙な)。これは正常な動作ですか、それともバグですか?いずれにしても、ミリ秒の値が数分と数秒に制限されているのか、時間が含まれているのかを確実に検出する方法はありますか?
ありがとうございました。
UPD:
私はOSX上でクロム15とFirefox 7でそれをテストしてみた:上のスクリーンショットあたりと同じ結果に。私はOpera Dragonflyコンソールの使い方を理解することはできませんが、同じことがOperaで起こるのは、getHours()
の13という値だけです。
ここでは、 'Date'コンストラクタを使いたくありません。 'new Date(n)'は日付が1970年1月1日+ 'n'ミリ秒に設定された' Date'オブジェクトを返します。これは確かにあなたが望むものではありません... –
@ŠimeVidas、何が良い選択肢でしょうか? – Arnold
私自身の関数を書くだろう。 –