PHPプログラミング

最終更新日:
公開日:

レシピ

日付・時刻

年末の日付を取得する

mktime関数を使って、年末の日付のタイムスタンプを取得する方法について解説します。

この記事のポイント

  • 翌年の「1月0日」を指定して年末日のタイムスタンプを取得する
  • 年の末日から曜日などの情報を取得する

年末の日付を取得する

mktime関数を使うと、指定した年末日のタイムスタンプを簡単に取得することができます。
例えば、「2020年12月31日」のタイムスタンプを取得する場合は次のように関数を呼び出します。

コード例

mktime(0,0,0,1,0,2021);

mktime関数のパラメータは前から順に、「時」「分」「秒」「月」「日」「年」を指定します。
また、この関数は「日」に「0」を指定すると前月の末日を返す性質があり、これを利用して「2021年1月0日」を指定して「2020年12月」の末日、つまり年末を取得することができます。

タイムスタンプを取得したら、後はdate関数などで必要な情報を取得します。
次のコードでは、年末の曜日を取得して出力します。

コード例

$timestamp = mktime(0,0,0,1,0,2021);

echo date("Y年の年末は", $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年の年末は木曜

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

続いて、まずは「年」だけをdate関数で出力しておきます。
続いて、改めてdate関数に「w」を渡して曜日の数値を取得し、switch文で曜日を判定し出力するという流れです。