PHP他

PHP 今さらですが前月、翌月の日付取得

日付を取り扱う処理で前日や翌日、前月や翌月などを取得しようとすると、閏年の事も考えながら if 文などを使わなければならず、意外と面倒だ。

だったのだが、mktime() を使えば簡単に取得できる事が分かった(今さらで済みません orz)。

例えば今日の前日や翌日、あるいは前月や翌日は次の通り。

$yesterday = date('Y-m-d', mktime(0, 0, 0, date('n'), date('j') - 1, date('Y'));
$tomorrow = date('Y-m-d', mktime(0, 0, 0, date('n'), date('j') + 1, date('Y'));
$pastmonth = date('Y-m-d', mktime(0, 0, 0, date('n') - 1, date('j'), date('Y'));
$nextmonth = date('Y-m-d', mktime(0, 0, 0, date('n') + 1, date('j'), date('Y'));

なお、mktime() の引数に負の値が使えるのは、Windows で PHP5.1 以降なので使う場合はご注意を。