LaravelのCarbonで曜日を判定する方法

LaravelではCarbonライブラリを利用すると日付に関する色々な操作が可能ですが、今回は曜日判定について説明します。

曜日判定の方法

ある日付が日曜日であるかどうかの判定を例に、3パターン書きます。

$today = Carbon::today();

// 1. ISO 8601 形式の曜日の数値表現を使用
$today->format('N') === '7';

// 2. フルスペル形式の英語表記を使用
$today->format('l') === 'Sunday';

// 3. isSunday() メソッドを使用(おすすめ)
$today->isSunday();

各メソッドの説明

format()

format('N'): ISO 8601 形式の曜日の数値表現を返します。月曜が1、日曜が7となります。このメソッドはstringで値を返すので注意が必要です。

format('l'): 曜日の英語表記をフルスペルで返します。例えば、MondayからSundayまでの文字列が返されます。

isSunday()

日曜日であるかどうかを判定し、trueまたはfalseを返します。この方法が一番シンプルで直感的かと思います。

もちろん他の曜日も用意されています。

  • isMonday()
  • isTuesday()
  • isWednesday()
  • isThursday()
  • isFriday()
  • isSaturday()
  • isSunday()

参照

formatメソッドの引数に渡す文字は、PHPのDateTimeクラスformatメソッドのドキュメントで確認できます。

Carbonの公式ドキュメントで色々なメソッドが簡単に検索できます。

以上が簡単な曜日判定方法です。Carbonの基本的な使い方については別記事にまとめます。