PHP 関数で月の最終日を取得する方法

PHP にはすでに、特定の月の最終日を取得するのに役立つ組み込み関数があります。DateTime 関数と strtotime 関数は、このシナリオで最も役立ちますが、strtotime は、2038 年以降は正確に機能しないか、正しい結果を提供しません。ただし、strtotime は日付の変換に最適です。

どちらの関数も t という形式を使用します。公式のマニュアルによれば、指定された日付の月の日数を返します。月の最終日を取得するための鍵は、指定された日数を返す文字 t であることに注意してください月。

月の最後の日付を取得する PHP の DateTime

これは、将来の日付と過去の日付の両方で月の最後の日付を取得するために使用する最良の方法です。format() 関数で渡されるパラメーターは-Ymt です。これらの定数は PHP で定義されています。

年の完全な数値表現、4 桁は Y の文字で表されます(例:2020)。先行ゼロ付きの月の数値表現は文字 m によるもので、これは 01 から 12 までです。また、指定された月の日数は文字 t で表されます。

これは、使用される PHP バージョンが 5.3 以降の場合に最適なオプションです。

$L = new DateTime( '2020-02-01' ); 
echo $L->format( 'Y-m-t' );

上記のコードは、DateTime 関数に日付を提供し、フォーマット文字 Y-m-t を使用して、指定された日付の月の最後の日付を取得します。

PHP の strtotime() で月の最終日を取得

strtotime() は、5.2 以前の PHP バージョンに最適なオプションです。

$date = "2020-01-15";
echo date("Y-m-t", strtotime($date));

関連記事 - PHP DateTime

  • PHP でタイムスタンプを読み取り可能な日付または時刻に変換する方法
  • comments powered by Disqus