ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript を使用して年、月、日の 2 つの日付の差を計算する方法

JavaScript を使用して年、月、日の 2 つの日付の差を計算する方法

Mary-Kate Olsen
リリース: 2024-12-09 06:45:07
オリジナル
330 人が閲覧しました

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

JavaScript で年、月、日の 2 つの日付の差を計算する方法

JavaScript で 2 つの日付の差を計算すると、次のことが可能になります。やりがいのある仕事になる。さまざまな解決策が利用可能ですが、それらは多くの場合、単一単位 (日、月、年など) での差を提供するか、カレンダーの複雑さ (閏年や月の日数の変化など) を考慮していない場合があります。 ).

包括的なアプローチ

年、月、日を含む 2 つの日付の差を正確に計算するには、より包括的なアプローチを使用します。解決策が必要です。これを実現する方法は次のとおりです:

  1. 日付オブジェクトの作成: 開始日と終了日を表す 2 つの Date オブジェクトを作成します。 Date の月パラメータは 0 から始まり、4 月が 3 月であることを意味します。
  2. 時差の計算: 終了日から開始日を減算して時差をミリ秒単位で取得します。 .
  3. 日数に変換: 時差をミリ秒数で割ります。 1 日 (1000 60 60 * 24) を使用して日数を取得します。
  4. 月と年を計算する: 整数の除算と剰余を使用して月数を決定します。日数から年数を計算します。月の場合は、31 で割ります (平均的な月の長さを想定)。年の場合は、12 で割ります。
  5. 出力のフォーマット: 手順 4 で計算した日、月、年を含む文字列メッセージを作成します。

サンプル実装:

function calcDateDifference(startDate, endDate) {
  const diff = endDate.getTime() - startDate.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);

  let message = startDate.toDateString();
  message += " was ";
  message += days + " days ";
  message += months + " months ";
  message += years + " years ago";

  return message;
}

const startDate = new Date(2010, 5, 10); // June 10, 2010
const endDate = new Date();

console.log(calcDateDifference(startDate, endDate));
ログイン後にコピー

この関数は次のようになります。指定された日付の差を計算し、「2010 年 6 月 10 日は x 日、y か月、z 年前でした。」

という形式でメッセージを出力します。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート