1. ホーム
  2. javascript

[解決済み] JavaScript で 1 年間の日数(1~366)を計算します。

2022-05-25 19:54:41

質問

JavaScriptを使って、1年から366年までの日数を計算するにはどうしたらよいでしょうか?

例えば

  • January 33 .
  • February 132 .

どのように解決するのですか?

OPの編集に従う。

var now = new Date();
var start = new Date(now.getFullYear(), 0, 0);
var diff = now - start;
var oneDay = 1000 * 60 * 60 * 24;
var day = Math.floor(diff / oneDay);
console.log('Day of year: ' + day);

編集:上記のコード は失敗します というときに now が 3 月 26 日から 10 月 29 日までの間の日付であり now の時刻が午前1時以前 (例: 00:59:59) である場合。これは、コードが夏時間を考慮に入れていないためです。次のようにします。 補償する を追加してください。

var now = new Date();
var start = new Date(now.getFullYear(), 0, 0);
var diff = (now - start) + ((start.getTimezoneOffset() - now.getTimezoneOffset()) * 60 * 1000);
var oneDay = 1000 * 60 * 60 * 24;
var day = Math.floor(diff / oneDay);
console.log('Day of year: ' + day);