【Laravel】Carbonで日付の差分やフォーマットを指定して取得する方法

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

今回は、Laravelで日付操作ができるCarbonで日付の差分を取得する方法とフォーマットを指定して日付を取得する方法について書こうと思います。

ちなみに前回の記事では、Carbonでよく使うものをピックアップして書いていますので、読んでいない方はぜひ読んでみて下さい。

日付の差分を取得する

日付の差分を取得するには、「diff×××」といったメソッドを使用します。
以下にまとめておきます。

<?php

use Carbon\Carbon;

$dt1 = new Carbon('2021-05-03'); //2021-05-03 00:00:00
$dt2 = Carbon::parse('2021-05-03')->endOfYear(); // 2021-12-31 23:59:59

// 何秒差分があるか
$dt1->diffInSeconds($dt2);

// 何分差分があるか
$dt1->diffInMinutes($dt2);

// 何時間差分があるか
$dt1->diffInHours($dt2);

// 何日差分があるか
$dt1->diffInDays($dt2);

// 何週差分があるか
$dt1->diffInWeeks($dt2);

// 何年差分があるか
$dt1->diffInYears($dt2);

こんな感じで日付間の差分を簡単に取得できます。

フォーマットを指定して取得する

フォーマットを指定して日付を取得したい場合は、以下のようにして取得できます。

// 現在の日時を取得
$now = Carbon::now();

// フォーマットを指定して出力
   echo $now->format('Y-m-d_H-i-s');
   //出力結果 → 2021-05-03_11-48-23

たったこれだけです。
便利ですね。

最後に

何回かに分けてCarbonについて書きましたが、日付操作でやりたいことはほとんどできるのでぜひ使ってみて下さい。

それでは、また!

Follow me!