【JavaScript】月末日をYYYY/MM/DD形式で取得する方法

Web開発において、特定の月の最終日を取得することは、スケジュール管理やカレンダーアプリケーションの開発などで非常に役立ちます。本記事では、JavaScriptを使って指定した月の末日を取得し、その結果をYYYY/MM/DD形式で表示する方法をご紹介します。

月末日を取得するための基本的な考え方

JavaScriptで月末日を取得するための基本的なアプローチは、以下の通りです。

  1. 翌月の1日を取得: 最初に、指定した月の翌月の1日をDateオブジェクトで作成します。
  2. 1日を引いて月末日を取得: その日付から1日を引くことで、その月の末日を得ることができます。

これをコードに落とし込むと、簡単に月末日を取得することができます。

実際のコード例

以下のコード例は、指定された年と月の月末日を取得し、それをYYYY/MM/DD形式で表示する方法を示しています。

function getLastDayOfMonth(year, month) {
    // 翌月の1日を取得
    let date = new Date(year, month + 1, 1);
    // 1日を引いて月末日を取得
    date.setDate(0);
    
    // 年月日をフォーマットして取得
    const yearStr = date.getFullYear();
    const monthStr = String(date.getMonth() + 1).padStart(2, '0');
    const dayStr = String(date.getDate()).padStart(2, '0');
    
    return `${yearStr}/${monthStr}/${dayStr}`;
}

// 例: 2024年8月の月末日を取得
const lastDay = getLastDayOfMonth(2024, 7); // monthは0から始まるため7は8月を表す
console.log(lastDay); // 出力: 2024/08/31
  • new Date(year, month + 1, 1):指定した年と月の翌月の1日を取得します。JavaScriptにおける月は0から始まるため、8月を指定する場合は7を使用します。
  • date.setDate(0):翌月の1日から1日を引いて、指定した月の最終日を取得します。
  • padStart(2, ‘0’):getMonth()やgetDate()で取得した値が1桁の場合、先頭に0を追加して2桁に揃えます。

実行結果

このコードを実行すると、例えば2024年8月の場合、2024/08/31が出力されます。このようにして、指定した年月の月末日をYYYY/MM/DD形式で簡単に取得することができます。

まとめ

JavaScriptで月末日を取得し、フォーマットして表示するのはとても簡単です。この方法を活用すれば、様々なアプリケーションでの日時管理がスムーズに行えるようになります。是非、皆さんのプロジェクトでも試してみてください。