今月
先月、今月や指定日の、月初や月末を求める方法
-
今月初め
今月初めを求める場合、"first day of this month"で求める方法と、
echo date('Y-m-d', strtotime('first day of this month')), PHP_EOL;出力フォーマットで日を1とする方法があります。
echo date('Y-m-1'), PHP_EOL;
DateTimeを使った場合
$dt = new Datetime('first day of this month'); echo $dt->format('Y-m-d'), PHP_EOL;または、出力フォーマットで日を1とする方法があります。
$dt = new Datetime(); echo $dt->format('Y-m-1'), PHP_EOL;今日が2018年10月3日の場合、これらの実行結果は全て同じで、以下になります。
2018-10-01
今月末
今月の末日を求める場合、"last day of this month" を指定します。
echo date('Y-m-d', strtotime('last day of this month'));
DateTimeを使った場合
$dt = new Datetime('last day of this month'); echo $dt->format('Y-m-d'), PHP_EOL;
今日が2018年10月3日の場合、これらの実行結果は全て同じで、以下になります。
2018-10-31
先月
-
先月初め
先月初めを求める場合、"first day of last month"で求める方法と、
echo date('Y-m-d', strtotime('first day of last month')), PHP_EOL;出力フォーマットで日を1とする方法があります。
echo date('Y-m-1'), PHP_EOL;
DateTimeを使った場合
$dt = new Datetime('first day of last month'); echo $dt->format('Y-m-d'), PHP_EOL;または、出力フォーマットで日を1とする方法があります。
$dt = new Datetime(); echo $dt->format('Y-m-1'), PHP_EOL;今日が2018年10月3日の場合、これらの実行結果は全て同じで、以下になります。
2018-09-01
先月末
先月末を求める場合、"last day of last month" を指定します。
echo date('Y-m-d', strtotime('last day of last month'));
DateTimeを使った場合
$dt = new Datetime('last day of last month'); echo $dt->format('Y-m-d'), PHP_EOL;
今日が2018年10月3日の場合、これらの実行結果は全て同じで、以下になります。
2018-09-31
指定された月だけ過去の月
-
指定月過去の月初め
指定された月だけ過去の月初めを求める場合、"first day of [数字] months ago"で求められます。
echo date('Y-m-d', strtotime('first day of 8 months ago')), PHP_EOL;
DateTimeを使った場合
$dt = new Datetime('first day of 8 months ago'); echo $dt->format('Y-m-d'), PHP_EOL;または、出力フォーマットで日を1とする方法があります。
$dt = new Datetime('8 months ago'); echo $dt->format('Y-m-1'), PHP_EOL;今日が2018年10月3日の場合、これらの実行結果は全て同じで、以下になります。
2018-02-01
指定月過去の月末
指定された月だけ過去の月末を求める場合、"last day of [数字] months ago" を指定します。
echo date('Y-m-d', strtotime('last day of 8 months ago'));
DateTimeを使った場合
$dt = new Datetime('last day of 8 months ago'); echo $dt->format('Y-m-d'), PHP_EOL;
今日が2018年10月3日の場合、これらの実行結果は全て同じで、以下になります。
2018-02-28
指定日の月
-
指定日の月初め
指定日の月初めを求める場合、"[日付] first day of this month"で求める方法と、
echo date('Y-m-d', strtotime('2020-2-10 first day of this month')), PHP_EOL;出力フォーマットで日を1とする方法があります。
echo date('Y-m-1', strtotime('2020-2-10'), PHP_EOL;
DateTimeを使った場合
$dt = new Datetime('2020-2-10 first day of this month'); echo $dt->format('Y-m-d'), PHP_EOL;または、出力フォーマットで日を1とする方法があります。
$dt = new Datetime('2020-2-10'); echo $dt->format('Y-m-1'), PHP_EOL;これらの実行結果は、以下になります。
2020-02-01
指定日の月末
指定日の月末を求める場合、"[日付] last day of this month" を指定します。
echo date('Y-m-d', strtotime('2020-2-10 last day of this month'));
DateTimeを使った場合
$dt = new Datetime('2020-2-10 last day of this month'); echo $dt->format('Y-m-d'), PHP_EOL;
これらの実行結果は、以下になります。
2020-02-29
指定日の月初、月末
指定日の月初と月末を同時に求める場合、DateTimeのmodifyメソッドを使う方法があります。
$dt = new DateTime('2020-02-10'); // 月初 $dt->modify('first day of this month'); echo $dt->format('Y-m-d'), PHP_EOL; // 月末 $dt->modify('last day of this month'); echo $dt->format('Y-m-d'), PHP_EOL;
これの実行結果は、以下になります。
2020-02-01 2020-02-29