ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript を使用して、年、月、日の 2 つの日付の差を正確に計算するにはどうすればよいですか?

JavaScript を使用して、年、月、日の 2 つの日付の差を正確に計算するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-02 12:53:16935ブラウズ

How Can I Accurately Calculate the Difference Between Two Dates in Years, Months, and Days Using JavaScript?

JavaScript での年、月、日の日付の違いの確認

年、月、日の 2 つの日付の差を確認するには、次のことができます。 1 つの単位 (年、月、または日) でのみ差が生じるソリューションに不一致があるため、JavaScript での作業が困難である、または

これは、平年と閏年、および月間の正確な日数の差を考慮した、より包括的なソリューションです。

today = new Date();
past = new Date(2010, 05, 01); // Equivalent to June 1, 2010

function calcDate(date1, date2) {
  // Calculate the difference in milliseconds
  var diff = Math.floor(date1.getTime() - date2.getTime());

  // Convert milliseconds to days
  var day = 1000 * 60 * 60 * 24;
  var days = Math.floor(diff / day);

  // Calculate months and years from days
  var months = Math.floor(days / 31);
  var years = Math.floor(months / 12);

  // Format the message
  var message = date2.toDateString();
  message += " was ";
  message += days + " days ";
  message += months + " months ";
  message += years + " years ago \n";

  return message;
}

console.log(calcDate(today, past));
// Output: Tue Jun 01 2010 was 1143 days 36 months 3 years ago

このソリューションは、月と月の間の差を正確に計算します。 2 つの日付の差をミリ秒単位で日数に変換し、さらに合計日数から月と年を導き出します。

以上がJavaScript を使用して、年、月、日の 2 つの日付の差を正確に計算するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。