JavaScript で年内の日数を計算する (1 - 366) 質問する

JavaScript で年内の日数を計算する (1 - 366) 質問する

JavaScript を使用して 1 から 366 までの年間通算日を計算するにはどうすればよいですか?

例えば:

  • January 3であるべきです3
  • February 1であるべきです32

ベストアンサー1

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);

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

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);

おすすめ記事