はじめに
今回は、Carbonの基本について調べたので、備忘録として残しておきます。
基本的な使い方について説明した後、タイトルのコードをご紹介します。
環境
- Laravel:8.83.4
1. Carbonとは
PHPのDateTimeクラスを拡張したパッケージのことです。phpでそのまま日付や時刻を扱うよりも直感的かつシンプルに操作することができます。
Laravelには標準でインストールされています。
2. 基本的な使い方
2-1. インスタンスを取得する
newで作ると、現在の日付のインスタンスができます。
$cb = Carbon::now();
echo $cb; // 2022-08-03 20:00:30
2-2. 日時データを取得する
インスタンスから年月日や時分秒を取得するには下記のように書きます。
$cb = new Carbon(); // 2022-08-03 20:00:30
// 年
echo $cb->year; // 2022
// 月
echo $cb->month; // 8
// 日
echo $cb->day; // 3
// 時
echo $cb->hour; // 20
// 分
echo $cb->minute; // 00
// 秒
echo $cb->second; // 30
2-3. 日付を判定する
$cb = new Carbon();
// 今日かどうか
echo $dt->isToday(); // true
// 明日かどうか
echo $dt->isTomorrow(); // false
// 昨日かどうか
echo $dt->isYesterday(); // false
2-3. 日付を比較する
$cb1 = new Carbon('2022-08-03');
$cb2 = new Carbon('2022-08-05');
// より大きい
echo $cb1->gt($cb2); // false
// 以上
echo $cb1->gte($cb2); // false
// 未満
echo $cb1->lt($cb2); // true
// 以下
echo $cb1->lte($cb2); // true
Carbonにはこれ以外にもたくさん日付を操作するものがありますので必要に応じて調べてみて下さい。
3. やりたかったこと
「2022-08-03」の書式で、週の初めの日付を取得する。
$cb1 = new Carbon();
echo $cb1->startOfWeek()->toDateString();
以上で実装完了です。
調べた以外にも様々な日付操作が簡単に行えそうだったので、うまく活用して効率よく開発を進めていきたいと思います。
4. 参考文献