今回の記事ではCarbonを使って日付の比較を行う方法を紹介します。
Carbonとは
まずはCarbonの簡単な説明をしていきます。
Carbonとは、PHPの日付と時刻操作のためのライブラリです。
DateTimeクラスを継承したクラスです。
<?php
namespace Carbon;
class Carbon extends \DateTime
{
}
Carbonを導入するにはcomposerを使用するのが推奨されています。
こちらで具体的な導入の流れが説明されています。
Laravelでは標準で取り入れられているのでそのまま使用することが可能になっています。
Carbonで日付の比較を行う方法
ここから本題の日付の比較方法を紹介します。
まずは2つの日付を用意します。
$firstDate = Carbon::parse('2023-10-14');
$secondDate = Carbon::parse('2023-10-20');
ここからこの2つの日付を比較していきます。
$firstDate = Carbon::parse('2023-10-14');
$secondDate = Carbon::parse('2023-10-20');
// 日付が等しいか
$firstDate->eq($secondDate) //false
//より大きい
$firstDate->gt($secondDate) //false
//より小さい
$firstDate->lt($secondDate) //true
//以上
$firstDate->gte($secondDate) //false
//以下
$firstDate->lte($secondDate) //true
それぞれこのようにして日付を比較することができます。
「equal」、「greater than」、「less than」、「greater than equal」、「less than equal」の単語を略した形になっているようです。
元となる単語を覚えておくと、いざ使うときにすぐに使えるのでいいかもしれません。
「between( )」で間にあるかの判定もできる
ある日付が2つの日付の間にあるかチェックする方法も用意されています。
$firstDate = Carbon::parse('2023-10-14');
$secondDate = Carbon::parse('2023-10-20');
$middleDate = Carbon::parse('2023-10-16');
//間にあるか
$middleDate->beween($firstDate, $secondDate); //true
between( )を使用し、第一引数と第二引数にそれぞれ比較したい日付を指定します。
まとめ
いかがだったでしょうか。
CarbonはLaravelで標準に取り入れられているように、使用頻度が高いものだと思います。
さらに日付比較はWebアプリケーションではほぼ使われるものだと思います。
比較の種類はいくつかあるのでどんなものがあるか一通りは把握しておくのが良いかと思います!
Carbonには他にも日付に関するものが多く用意されているので後日まとめてみたいと思います。
エンジニアにおすすめ書籍
エンジニアになりたて、これから勉強を深めていきたいという方におすすめの書籍はこちら!