みやもとメモ

「Notion」「Google Apps Script」「ブログカスタマイズ」などについて書いていきます。

目次
目次

【Laravel】年月を指定して1か月分の日付と曜日を取得する(CarbonPeriod)

この記事をシェアする

今回はLaravelに関して書いていきます。

以前もLaravelに関する記事を書いています(以下リンク)。

miya-moto-memo.hatenablog.com

上記の記事で、CarbonPeriodを使って1週間分の日付と曜日を取得する処理について書いています。

「1週間分」の次は「1か月分」かなということで、1か月分の日付と曜日を取得してみます。

それでは本題へ。

実行環境

実行環境は、

  • PHP 8.2.12
  • Laravel Framework 11.10.0
  • nesbot/carbon 3.5.0

です。

プログラム

プログラムはこんな感じです。

// 対象年月を取得
$year = 2024;
$month = 6;
$date = 1;
$carbon = Carbon::createFromDate($year, $month, $date);
// 月初を取得
$startOfMonth = $carbon->startOfMonth()->toDateString();
// 月末を取得
$endOfMonth = $carbon->endOfMonth()->toDateString();
// 月初~月末の期間を取得
$periods = CarbonPeriod::create($startOfMonth, $endOfMonth)->toArray();
foreach ($periods as $value) {
    // データ出力
    echo $value->isoFormat('YYYY/MM/DD(ddd)') . "\t";
    // 日曜日で改行
    if ($value->isSunday()) echo "<br>";
}

ざっくりの流れは、

  • 対象年月を決める(今回は2024年6月)
  • 対象年月の月初、月末を取得
  • 月初~月末の期間を取得

という感じです。

プログラム実行

プログラムを実行すると、以下の結果が出力されます。

1か月分の日付が出力される

縦に長く出力されるのもアレだなと思い、日曜日で改行するようにしました。

参考リンク

Carbonのリファレンスは以下です。
carbon.nesbot.com

CarbonPeriodのリファレンスは以下です。
※上記と同じページです
carbon.nesbot.com

おわりに

ということで、「【Laravel】年月を指定して1か月分の日付と曜日を取得する(CarbonPeriod)」に関してアレコレ書いてみました。

1か月分の日付が取得できたので、今度は簡易的なカレンダーを作ってみようかなと思います。

この記事が参考になれば幸いです。

関連記事

Laravelに関してはいくつか記事にしています。
気になる記事があればぜひ。

TOPへ戻る HOMEへ