【Laravel】Carbon(日時クラス)の使い方まとめ

~簡単な自己紹介~

  • 嫁と猫3匹と暮らすフルリモートの三十路SE
  • ブリッジSE的なポジションを務めることが多く、チーム運営、顧客折衝、ベンダーコントロールが得意
  • 投資・節約・副業で資産形成中
  • 現在の金融資産は約1,650万円、めざせアッパーマス層(資産3,000万円)

PHPのフレームワークであるLaravelのCarbonを使った日付・時刻の取得やフォーマット、計算の方法をまとめました。

内容は随時追加していきます。

準備

クラス宣言の前に下記のuse文を追加します。

use Carbon\Carbon;

日付・時刻を取得する

現在日時

echo new Carbon();  // 例:2023-09-08 20:34:17
echo Carbon::now(); // 例:2023-09-08 20:34:17

今日

echo Carbon::today(); // 例:2023-09-08 00:00:00

昨日

echo Carbon::yesterday(); // 例:2023-09-07 00:00:00

明日

echo Carbon::tomorrow(); // 例:2023-09-09 00:00:00

文字列から生成する

echo new Carbon("2010-09-01"); // 例:2010-09-01 00:00:00

○○を取得する/フォーマット

年(year)

$date = new Carbon();
echo $date;              // 例:2023-09-08 20:48:27
echo $date->year;        // 2023
echo $date->format("Y"); // 2023

月(month)

$date = new Carbon();
echo $date;              // 例:2023-09-08 20:48:27
echo $date->month;       // 9
echo $date->format("m"); // 09

日(day)

$date = new Carbon();
echo $date;              // 例:2023-09-08 20:48:27
echo $date->day;         // 8
echo $date->format("d"); // 08

時(hour)

$date = new Carbon();
echo $date;              // 例:2023-09-08 20:54:28
echo $date->hour;        // 20
echo $date->format("H"); // 20

分(minute)

$date = new Carbon();
echo $date;              // 例:2023-09-08 20:54:28
echo $date->hour;        // 54
echo $date->format("i"); // 54

秒(second)

$date = new Carbon();
echo $date;              // 例:2023-09-08 20:54:28
echo $date->second;      // 28
echo $date->format("s"); // 28

日付の加算・減算

n日後・n日前

echo Carbon::today();            // 2023-09-08 00:00:00
echo Carbon::today()->addDay(1); // 2023-09-09 00:00:00
echo Carbon::today()->subDay(1); // 2023-09-07 00:00:00

n週間後・n週間前

echo Carbon::today();             // 2023-09-08 00:00:00
echo Carbon::today()->addWeek(1); // 2023-09-15 00:00:00
echo Carbon::today()->subWeek(1); // 2023-09-01 00:00:00

n月後・n月前

echo Carbon::today();              // 2023-09-08 00:00:00
echo Carbon::today()->addMonth(1); // 2023-10-08 00:00:00
echo Carbon::today()->subMonth(1); // 2023-08-08 00:00:00

n年後・n年前

echo Carbon::today();              // 2023-09-08 00:00:00
echo Carbon::today()->addMonth(1); // 2023-10-08 00:00:00
echo Carbon::today()->subMonth(1); // 2023-08-08 00:00:00

以上になります。

お疲れさまでした。

Follow me!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です