【Laravel】Carbonで日付の判定、比較、加算減算の方法

こんにちは!CODE CLUB965のKです!

今回は、日付操作ができるCarbonで日付の判定と比較の方法について書こうと思います。

前回の記事でCarbonの基本的な使い方については書いていますので、読んでいない方はぜひ読んでみて下さい。

日付の判定

日付の判定は、取得した日付が「今日の日付なのか」、「明日の日付なのか」など判定したい時に使います。

<?php 
use Carbon\Carbon; 

$dt = Carbon::now(); 

// 今日かどうか 
echo $dt->isToday(); // true 

// 明日かどうか 
echo $dt->isTomorrow(); // false 
  
// 昨日かどうか 
echo $dt->isYesterday(); // false 

// 未来かどうか 
echo $dt->isFuture(); // false 
  
// 過去かどうか 
echo $dt->isPast(); // false 

使う機会は少ないかと思いますが、他にも以下のようなものがあります。

// うるう年かどうか 
echo $dt->isLeapYear();

// 平日かどうか
echo $dt->isWeekday();

// 同じ日かどうか 
echo $dt->isSameDay(Carbon::parse('2021-05-02')); 

// 日曜かどうか
echo $dt->isSunday();

日付の比較

日付の比較の方法は以下の通りです。

<?php

use Carbon\Carbon;

$dt1 = new Carbon('2021-05-02');
$dt2 = new Carbon('2021-05-05');

// イコール
echo $dt1->eq($dt2); // false

// ノットイコール
echo $dt1->ne($dt2); // true

// より大きい
echo $dt1->gt($dt2); // false

// 以上
echo $dt1->gte($dt2); // false

// より小さい(未満)
echo $dt1->lt($dt2); // true

// 以下
echo $dt1->lte($dt2); // true

// 指定した日付が指定期間との比較
echo Carbon::parse('2021-05-03')->between($dt1, $dt2); // true

日付の加算減算

<?php

use Carbon\Carbon;

/** 加算 **/

$dt = new Carbon('2021-05-02');

// 1日後
echo $dt->addDay(); // 2021-05-03 00:00:00

// 1週間後
echo $dt->addWeek(); // 2021-05-09 00:00:00

// 1ヶ月後
echo $dt->addMonth(); // 2021-06-02 00:00:00

// 1年後後
echo $dt->addYear(); // 2021-05-02 00:00:00

// 1時間後
echo $dt->addHour(); // 2021-05-02 01:00:00

// 1分後
echo $dt->addMinute(); // 2021-05-02 00:01:00

// 1秒後
echo $dt->addSecond(); // 2021-05-02 00:00:01

// 3日後
echo $dt->addDays(3); // 2021-05-05 00:00:00

// 3週間後
echo $dt->addWeeks(3); // 2021-05-23 00:00:00

// 3ヶ月後
echo $dt->addMonths(3); // 2021-08-02 00:00:00

// 3年後
echo $dt->addYears(3); // 2024-05-02 00:00:00

// 3時間後
echo $dt->addHours(3); // 2021-05-02 03:00:00

// 3分後
echo $dt->addMinutes(3); // 2021-05-02 00:03:00

// 3秒後
echo $dt->addSeconds(3); // 2021-05-02 00:00:03

/** 減算 **/
減算は、「add×××()」が、「sub×××()」になるだけです。

最後に

Carbonにはこれ以外にもたくさん日付操作するものがありますので必要に応じて調べてみて下さい。

ほとんどの日付操作はCarbonでできるので非常に便利ですね!

それでは、また!

Follow me!

【Laravel】Carbonで日付の判定、比較、加算減算の方法” に対して1件のコメントがあります。

コメントは受け付けていません。