0

ここで何が間違っているのかわかりません。このステートメントを実行すると:

new Date(43 * 365 * 24 * 60 * 60 * 1000) // ms from Epoch to Jan 1st, 2013

私はこれを得る:

Thu Dec 20 19:00:00 EST 2012

これは期待どおりに機能するはずなので、明らかに半分眠っていると思います(明らかにそうではありません;))。

更新:皆さんありがとうございます。はい、うるう年による 1 日分の日数のことをすっかり忘れていました。他の人への参照として、ここで詳細を見つけることができます: http://www.wikihow.com/Calculate-Leap-Years

4

3 に答える 3

3

これは、1970 年 1 月 1 日の午前 0 時 (UTC) からのミリ秒数の間、期待どおりに機能しています。

(タイムゾーンの違いに加えて、なぜ 11 日の違いがあるのでしょうか? エポックと 2013 年 1 月 1 日の間に 11 の閏年がありました。)

于 2013-11-14T23:55:26.783 に答える
1

毎年が 365 日ではないことを忘れないでください。さらに、いずれかの方法で日付を操作している場合は、date.jsを使用することをお勧めします。

于 2013-11-14T23:53:27.720 に答える
1

明示的なコンストラクターを使用しないのはなぜですか? 例えば

new Date(year, month, day, hours, minutes, seconds, milliseconds)

Julian コンストラクターは、1970 年 1 月 1 日からの日数に基づいています。

于 2013-11-14T23:54:23.830 に答える