PHP

月末の日付を取得する

  1. 最終更新日:
  2. 公開日:

mktime関数を使って、月末の日付を取得する方法について解説します。

この記事のポイント

  • 閏年にも対応できる
  • 特定の月末の情報を簡単に取得できる

月末が何日か確認する

mktime関数を使うと、特定の月の末日のタイムスタンプを簡単に取得することができます。

PHP コード例

mktime(0,0,0,3,0,2020);

mktime関数のパラメータは前から順に、「時」「分」「秒」「月」「日」「年」を指定します。
また、この関数は「日」に「0」を指定すると、前月の末日を返すという性質があります。

例えば、「2020年2月」の末日を取得したい場合は、mktime関数に「2020年3月0日」の日付を指定することで取得することができます。

PHP コード例

$timestamp = mktime(0,0,0,3,0,'2020');
echo date("Y-m-d H:i:s", $timestamp);

出力結果

2020-02-29 00:00:00

各月の末日が「30日」「31日」のどちらなのか、また閏年にも対応しているため2月の末日も簡単に取得することができ便利です。

月末の曜日を取得する

特定の月の末日が何曜なのかを取得するには、次のようなコードを使用します。

PHP コード例

// 2020年2月末日のタイムスタンプを取得
$timestamp = mktime(0,0,0,3,0,2020);

// まずは日付だけ出力
echo date("Y年m月d日", $timestamp).'は';

// 曜日を判定
switch( date("w", $timestamp) ) {
  
  case 0:
    echo '日曜';
    break;
  
  case 1:
    echo '月曜';
    break;
  
  case 2:
    echo '火曜';
    break;
  
  case 3:
    echo '水曜';
    break;
  
  case 4:
    echo '木曜';
    break;
  
  case 5:
    echo '金曜';
    break;
  
  case 6:
    echo '土曜';
    break;
}

出力結果

2020年02月29日は土曜

最初にmktime関数で月末のタイムスタンプを取得します。

続いて、まずは年月日のみをdate関数で出力しています。
その後にまたdate関数を使い、曜日を「w」で取得してswitch文で曜日を出力する流れになっています。

記事一覧