【Laravel】日付操作をするCarbonの使い方

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

今回は、Laravelで日付操作するのに便利なCarbonの使い方についてまとめようと思います。

Carbonとは?

Carbonは、PHPのDateTimeクラスをオーバーラップ(継承)した日付を操作するためのライブラリです。
Laravelで採用されています。
Composerを使ってインストールすれば使用できます。

composer require nesbot/carbon

基本的な使い方

インスタンス生成は以下のように書きます。

<?php

  use Carbon\Carbon;

  // インスタンス生成 
$datetime = new Carbon();

インスタンス生成の引数に特定の文字列を指定することで、色々なインスタンスを取得できます。

new Carbon('now'); // 今の日時    
new Carbon('today'); // 今日の日時
new Carbon('tomorrow'); // 明日の日時 
new Carbon('yesterday'); // 昨日の日時
new Carbon('+7 day'); // 7日後     
new Carbon('+5 minutes'); // 5分後     
new Carbon('first day of next month'); // 来月の最初の日     
new Carbon('2021-05-01'); // 2021年5月1日     
new Carbon('2021-05-01 00:00:00'); // 2021年5月1日 00時00分00秒

第二引数にはタイムゾーンが指定できます。

new Carbon('today', 'Asia/Tokyo');

スタティックで生成

スタティックでインスタンスを生成する場合は以下のように記述します。
出力内容は先程の例と同じです。

Carbon::now();
Carbon::today();
Carbon::tomorrow();
Carbon::yesterday();
Carbon::parse('2021-05-01 00:00:00'); // 2021-05-01 00:00:00

必要な日時を取得する

特定の日時だけ取得することも可能です。
それぞれの取得の仕方は以下の通りです。
主要なものしか書きませんが、他にも色々取得できるので調べてみて下さい。

<?php 

use Carbon\Carbon; 

$dt = Carbon::now(); 

echo $dt->year; // 2021 
echo $dt->month; // 5 
echo $dt->day; // 1 
echo $dt->hour; // 17
echo $dt->minute; // 12 
echo $dt->second; //33 

// フォーマットを指定して出力する場合
echo $dt->format('Y年m月d日'); // 2016年05月01日 

// タイムゾーン名 
echo $dt->tzName; // Asia/Tokyo

こんな感じで簡単に日付を取得することができます。

Laravelで日付操作をしたい場合は、Carbonを使うと簡単に色々できるのでぜひ使ってみて下さい!

それでは、また!

Follow me!

【Laravel】日付操作をするCarbonの使い方” に対して1件のコメントがあります。

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