年月の差を計算したい | 日付・時間操作 | JavaScript 目的別リファレンス

スポンサーリンク

このプログラムでは、JavaScriptのDateオブジェクトを使用して、2つの日付の年月差を計算しています。getFullYear()メソッドを使用して年の差を計算し、getMonth()メソッドで月の差を計算して合算します。

スポンサーリンク

使用するメソッド: getFullYear(), getMonth()

getFullYear()メソッドは、日付の年を4桁の数値として返します。getMonth()メソッドは0から11の範囲で月を返します(0は1月、11は12月)。この2つのメソッドを組み合わせて、年と月の差を計算します。

年月の差を計算するプログラム

以下のコードでは、2020年6月15日と2023年12月1日の日付間の年月差を計算し、結果を表示しています。

HTMLとJavaScriptコード

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>年月の差を計算する方法(getFullYear()を使用して)</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            line-height: 1.6;
            padding: 20px;
        }
        pre {
            background: #f4f4f4;
            border-left: 3px solid #ccc;
            padding: 10px;
            margin: 20px 0;
        }
    </style>

    <script>
        window.onload = function() {
            // 比較する2つの日付
            const date1 = new Date('2020-06-15');
            const date2 = new Date('2023-12-01');

            // 年月の差を計算する関数
            function calculateMonthDifference(d1, d2) {
                const yearsDiff = d2.getFullYear() - d1.getFullYear();
                const monthsDiff = d2.getMonth() - d1.getMonth();
                return yearsDiff * 12 + monthsDiff; // 年差を月に変換し、月差と合計
            }

            // 年月の差を計算
            const monthDifference = calculateMonthDifference(date1, date2);

            // 結果をHTMLに表示
            document.getElementById('monthDifference').textContent = `年月の差: ${monthDifference}ヶ月`;
        }
    </script>
</head>
<body>

    <h1>年月の差を計算する方法(getFullYear()を使用して)</h1>

    <div id="monthDifference"></div>

</body>
</html>

プログラムの解説

このプログラムでは、getFullYear()を使用して年の差を、getMonth()を使用して月の差を計算しています。年の差を月に変換して合計することで、2つの日付の間に何ヶ月の差があるかを計算しています。

Dateオブジェクト メソッドの機能一覧

Dateオブジェクト メソッドの機能一覧 | JavaScript リファレンス
JavaScriptのDateオブジェクトは、日時を操作するために使用されるオブジェクトです。以下に、Dateオブジェクトのメソッドを種類ごとにアルファベット順にまとめています。Dateオブジェクトのインスタンスメソッドメソッド名説明と注意点getDate()日(1~31)を取得。注意点: 月初や月末の値に注意。get...