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

現在作成中です。今後加筆修正してまいります。
スポンサーリンク

このプログラムでは、JavaScriptを使って次の指定された曜日(例: 次の月曜日)の日付を計算します。DateオブジェクトのgetDay()メソッドを使用し、指定された曜日までの日数を計算しています。

スポンサーリンク

使用するメソッド: getDay(), setDate()

JavaScriptのgetDay()メソッドは、現在の曜日を0(日曜日)から6(土曜日)までの範囲で返します。また、setDate()を使って、現在の日付に対して指定された日数を加算し、次の指定された曜日の日付を求めます。

次の月曜日の日付を計算するプログラム

以下のコードでは、今日の日付から次の月曜日の日付を計算し、表示しています。

HTMLとJavaScriptコード

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>特定の曜日の日付を計算する方法(次の月曜日を求める例)</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>
        // 特定の曜日の日付を計算する関数(次の月曜日を計算する例)
        function getNextDayOfWeek(targetDay) {
            const today = new Date(); // 今日の日付を取得
            const currentDay = today.getDay(); // 今日の曜日(0:日曜日, 6:土曜日)
            const dayDifference = (targetDay + 7 - currentDay) % 7; // 次の曜日までの日数を計算

            // 今日が指定の曜日なら、翌週のその曜日に設定
            today.setDate(today.getDate() + (dayDifference === 0 ? 7 : dayDifference));

            return today;
        }

        // 次の月曜日の日付を計算して表示
        window.onload = function() {
            const nextMonday = getNextDayOfWeek(1); // 1 = 月曜日
            document.getElementById('nextMonday').textContent = `次の月曜日の日付: ${nextMonday.toDateString()}`;
        }
    </script>
</head>
<body>

    <h1>特定の曜日の日付を計算する方法(次の月曜日を求める例)</h1>

    <div id="nextMonday"></div>

</body>
</html>

プログラムの解説

このプログラムでは、getNextDayOfWeek()関数を使用して、現在の日付から次の月曜日の日付を計算しています。まず、今日の曜日をgetDay()メソッドで取得し、その曜日から月曜日までの日数を計算して日付を調整します。もし今日が月曜日であれば、次の月曜日(1週間後)の日付が返されます。

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

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