ひげめがねプログラム

初心者プログラマーの覚書となんかいろいろ

月末とか次の日とかPHPで取得したい。

PHPの月末取得や〇カ月後などの取得方法のおまとめ。入力値が月末日がチェックして!なーんてことがよくあるかにゃめのメモ。

月末取得したい。

A)mktime()使うと幸せになれる。 参考:PHP: mktime - Manual

//システム日付で今月の月末を取得。
$lastDate = date('Y-m-t'); 

//システム日付で今月の月末を取得。別ver.
$lastDate = date('Y-m-d', mktime(0, 0, 0, date('m') + 1, 0, date('Y'))); 

//翌月の月末を取得。
$lastDate = date('Y-m-d', mktime(0, 0, 0, date('m') + 2, 0, date('Y')));

//先月の月末を取得。
$lastDate = date('Y-m-d', mktime(0, 0, 0, date('m') + 0, 0, date('Y')));

//月の最大日数を取得したい。
$Day = date('t', mktime(0, 0, 0, date('m') + 1, 0, date('Y'))); 

もちろん関数も使える。システム日付じゃなくて指定したいときはそのまま記入してもいいし入力フィールドからとってきて変数に値代入後、mktime()にぶっこんでもいい。

単純にシステム日付の〇カ月前・後を取得したい。

A)strtotime()の出番 参考:
PHP: strtotime - Manual

//3日前
$date = date('Y/m/d', strtotime('-3 day'));

//3週間前
$date = date('Y/m/d', strtotime('-3 week'));

//3カ月前
$date = date('Y/m/d', strtotime('-3 month'));

//3年前
$date = date('Y/m/d', strtotime('-3 year'));

〇日前はマイナスをプラスにしてやるだけでおーけーだ。これでもう日付は大丈夫だな。え?まだわかんない所がある?PHPのマニュアル読んどけ!おーらい!