eyecatch php

PHP

【PHP】先月・今月・来月の「末日付」の取得方法

2019/05/11

PHPのメモ。
PHPの日付関数を使い、今月、来月、先月の「末日付」の取得(作成)方法を備忘録としてポストします。
末日付とは、1月なら31、2月なら28(29)など、読んで字のごとく月末の日付です。

date()関数とmktime()関数で取得

今月末の日付の取得

[php]
$last_day_of_current_month = date('Y-m-t');
[/php]

もしくは

[php]
$last_day_of_current_month = date('Y-m-d', mktime(0, 0, 0, date('m')+1, 0, date('Y')));
[/php]

結果例:
2014-11-30

先月末の日付の取得

では続いて先月末日の取得方法。
「月」は今月、「日」は 0 とします。

[php]
$last_day_of_prev_month = date('Y-m-d', mktime(0, 0, 0, date('m'), 0, date('Y')));
[/php]

結果例:
2014-10-31

来月末の日付の取得方法

では続いて来月。
「月」は+2、「日」は 0 とすればOKです。

[php]
$last_day_of_next_month = date('Y-m-d', mktime(0, 0, 0, date('m')+2, 0, date('Y')));
[/php]

結果例:
2014-12-31

ポイント

mktime (時, 分, 秒, , 日, 年);

今月末の場合は文法の「月」を +1 し、「日」の部分を 0とするのがミソ。
先月末の場合は「月」に対しては何もせず、来月末を求めたい場合は「月」に +2 すれば求まります。

なるほどですね。

-PHP
-, , , , ,