0

簡単なようですが、私はそれを理解することはできません。はぁ

1 日は74141秒ですが、この数値から Date オブジェクトを作成して時間と秒を表すにはどうすればよいですか? getHours/Seconds/Minutes を使用して正しい日付を持つ別の日付を設定するだけなので、実際の日付は気にしません。

4

3 に答える 3

4

この目的のためにDate.prototype.setSecondsを使用できます。変換は自動的に行われるため、実際に心配する必要はありません。

var date = new Date(1970, 0, 1); 
date.setSeconds(secs);

Date上記のトリックは、 が正確に真夜中を指すという事実に依存しているため、戻ってくるタイミングは正確です。精度上の理由から、私は EPOCH を使用していますが、「正確な」真夜中であれば問題ありません。

于 2013-05-13T19:56:52.220 に答える
3
  1. 日付を取得する

     var now = new Date();
    
  2. 時刻フィールドをゼロにします。

     now.setHours(0).setMinutes(0).setSeconds(0).setMilliseconds(0);
    
  3. 時刻番号から新しい時刻を作成します。

     var theTime = new Date(now.getTime() + timeInSeconds * 1000);
    

もちろん、他の日付を表す Date インスタンスを使用することもできますが、現在の日付を使用するのが最も奇妙なことのように思えます (他の条件がなければ)。

編集— 実際には、時間フィールドをゼロにした後.setSeconds()、値を使用して新しいオブジェクトを作成しないようにすることができます。どちらにせよ大きな問題ではないのではないでしょうか。

于 2013-05-13T19:56:54.870 に答える
2

alex23 の回答に加えて、日付構築パラメーターとして 0 を指定するだけで十分です。

var date = new Date(1970, 0, 1);
// same as
var date = new Date(0);
于 2013-05-13T21:06:14.710 に答える