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

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

Barbara Streisand
Barbara Streisandオリジナル
2024-12-01 04:29:09602ブラウズ

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

JavaScript で年、月、日の日付の違いを計算する

JavaScript で 2 つの日付の差を正確に取得するのは困難な場合があります月の長さと閏年の違いによるものです。ただし、基本的な精度が許容できる場合は、単純な計算方法を使用できます。

日付計算関数

日付の差を計算してフォーマットする関数:

function calcDate(date1, date2) {
  const diff = date1.getTime() - date2.getTime();
  const day = 1000 * 60 * 60 * 24;

  const days = Math.floor(diff / day);
  const months = Math.floor(days / 31);
  const years = Math.floor(months / 12);

  return `${date2.toDateString()} was \
${days} days, ${months} months, ${years} years ago`;
}

例使用法

const today = new Date();
const past = new Date(2010, 5, 1); // Note: Month values are zero-based, so June is 5

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

出力解釈

    日数: 現在の日付と過去の日付の間の丸日数の差。
  • 月: 現在の日付と過去の日付の間の月単位の差。日の差を平均日数で割ることによって計算されます。月の日数 (31)。
  • 年: 現在の日付と過去の日付の間の整数年の差。月の差を 12 で割ることによって計算されます。
これは注意してください。計算では、閏年や各月の正確な日数は考慮されません。この簡略化されたアプローチにより、ほとんどの実際の使用例における違いの大まかな推定値が得られます。

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

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