1

何かが足りないのですが、オンラインでヒントが見つかりません。Javascript の getTime() 関数を使用すると、1970 年、01、01、0、0、0、0、つまり 1970 年の真夜中からカウントされないように見えますが、1969 年、12、01、1、0、0、0 からカウントされます。

私は次のように設定しました:

var d = new Date(1970, 01, 01, 0, 0, 0, 0);
alert(d.getTime());

私は0を取得する必要があるという考えを念頭に置いています(時間が経過していないため)。しかし、私は2674800000ミリ秒を取得します

私が設定した場合:

var d = new Date(1969, 12, 01, 1, 0, 0, 0);
alert(d.getTime());

私は0ミリ秒を取得します

W3Cサイトでも機能を試してみましたが、結果は同じです。

また、現在と今年の初めの 2 つの日付の差を計算すると、正しい値が返されません。

var Now = new Date ();
var Begin = new Date (Now.getFullYear(), 01, 01);
var dif = Now.getTime() - Begin.getTime();
alert(dif);

約に対応するミリ秒を取得します。59日

私はまだプログラミングの幼児なので、何かを見落としていると確信しています。コメントをお待ちしております

4

1 に答える 1

2

一緒に表示されるエラーの原因となる 2 つのバグがあります。まず、月のインデックスは 0 であるため、1 月は 0 に対応します (2010 年 1 月 14 日の例については、こちらの例からわかるように)。次に、ブラウザが特定の時間に設定されているため、エラーが発生します。私はPSTにいるので、ここに私が得るものがあります。

a = new Date("January 1, 1970")
  Thu Jan 01 1970 00:00:00 GMT-0800 (PST)
a = new Date("January 1, 1970 GMT")
  Wed Dec 31 1969 16:00:00 GMT-0800 (PST)
a.getTime()
  0
于 2012-03-28T10:16:28.163 に答える