こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在5社経験している、12年目エンジニアです。
この記事では、 PHPのCarbonライブラリの基本的な使い方について
- Carbonライブラリとは
- Carbonライブラリを読み込むやり方
- Carbonインスタンスを生成するメソッド
- Carbonインスタンスを設定するメソッド
- Carbonインスタンスを文字列操作するメソッド
- Carbonインスタンスを判定するメソッド
- Carbonインスタンスを計算するメソッド
と解説していきます。
前提条件:実行環境について
実行環境は以下の通りです。
OS | Windows11 |
---|---|
PHPのバージョン | 8.2.4 |
XAMPPのバージョン | 8.2.4 |
Carbonライブラリのバージョン | 2.71.0 |
PHPを動かすためにXAMPPを使っています。
XAMPPのインストールは、こちらの記事をご参考ください。
Carbonライブラリとは
Carbonライブラリとは、DateTimeクラスを拡張したライブラリです。
つまり、年月日や時間を扱うライブラリです。
Carbonライブラリでは
1 |
$date = Carbon::now(); |
こんな感じで簡単に年月日を扱うことができます。
公式サイトはこちらをご参考ください。
PHPでCarbonライブラリ使うには、インストールする必要があります。
インストールのやり方はこちらの記事をご参考ください。
なおLaravelで使う場合は、インストールは必要ありません。
なぜなら標準でCarbonライブラリが入っているからです。
Carbonライブラリを読み込むやり方
Carbonライブラリを読み込むやり方を解説を解説します。
PHPでCarbonライブラリを読み込むためには
1 2 3 |
require __DIR__ . "/../vendor/autoload.php"; use Carbon\Carbon; |
の宣言が必要です。
これらの宣言について解説します。
Carbonライブラリをインストールしたとき
xampp\vendor\autoload.php
が作られています。
CarbonライブラリをPHPで使うためには
- autoload.phpを読み込む
- Carbonライブラリをuseで宣言
という順番で読み込む必要があります。
__DIR__ マジック定数については、こちらの記事をご参考ください。
Laravelで使う場合は
1 |
use Carbon\Carbon; |
のuse宣言のみでOKです。
Carbonインスタンスを生成するメソッド
Carbonインスタンスを生成するメソッドを簡単なサンプルプログラムも載せて紹介します。
newで生成
1 2 |
$result = new Carbon(); // 変数resultには「2023-10-05 00:09:21」というようなCarbonインスタンスが返される |
です。
newするときに、
1 2 3 |
$result1 = new Carbon('tomorrow'); $result2 = new Carbon('yesterday'); $result3 = new Carbon('2020-02-02'); |
という引数を指定することができます。
Carbon::nowメソッド
Carbon::nowメソッドは、現在日時のCarbonインスタンスを生成することができます。
1 2 |
$result = Carbon::now(); // 変数resultには「2023-10-05 00:09:21」というようなCarbonインスタンスが返される |
Carbon::todayメソッド
Carbon::todayメソッドは、今日のCarbonインスタンスを生成することができます。
- 時間
- 分
- 秒
がすべて「0」というのが特徴です。
1 2 |
$result = Carbon::today(); // 変数resultには「2023-10-05 00:00:00」というようなCarbonインスタンスが返される |
Carbon::tomorrowメソッド
Carbon::tomorrowメソッドは、明日のCarbonインスタンスを生成することができます。
- 時間
- 分
- 秒
がすべて「0」というのが特徴です。
1 2 |
$result = Carbon::tomorrow(); // 変数resultには「2023-10-06 00:00:00」というようなCarbonインスタンスが返される |
Carbon::yesterdayメソッド
Carbon::yesterdayメソッドは、昨日のCarbonインスタンスを生成することができます。
- 時間
- 分
- 秒
がすべて「0」というのが特徴です。
1 2 |
$result = Carbon::yesterday(); // 変数resultには「2023-10-04 00:00:00」というようなCarbonインスタンスが返される |
Carbonインスタンスを設定するメソッド
Carbonインスタンスを設定するメソッドを簡単なサンプルプログラムも載せて紹介します。
Carbon::startOfDayメソッド
Carbon::startOfDayメソッドは、呼び出しているCarbonインスタンスの時間を1日の最初の時間(00:00:00)に設定することができるメソッドです。
返り値として、設定したCarbonインスタンスそのものも返します。
1 2 3 |
$sample = new Carbon('2023-10-11 12:34:56'); $result = $sample->startOfDay(); // 変数result、sampleは「2023-10-11 00:00:00」というCarbonインスタンスになる |
Carbon::startOfMonthメソッド
Carbon::startOfMonthメソッドは、呼び出しているCarbonインスタンスをその月の初日、かつ時間をその日が始まった時間に設定することができます。
返り値として、設定したCarbonインスタンスそのものも返します。
1 2 3 |
$sample = new Carbon('2023-10-11'); $result = $sample->startOfMonth(); // 変数result、sampleは「2023-10-01 00:00:00」というCarbonインスタンスになる |
Carbon::endOfMonthメソッド
Carbon::endOfMonthメソッドは、呼び出しているCarbonインスタンスをその月の月末、かつ時間をその日の最後の時間に設定することができます。
返り値として、設定したCarbonインスタンスそのものも返します。
1 2 3 |
$sample = new Carbon('2023-10-11'); $result = $sample->endOfMonth(); // 変数result、sampleは「2023-10-31 23:59:59」というCarbonインスタンスになる |
Carbonインスタンスを文字列操作するメソッド
Carbonインスタンスを文字列操作するメソッドを簡単なサンプルプログラムも載せて紹介します。
Carbon::toDateStringメソッド
Carbon::toDateStringメソッドは、呼び出しているCarbonインスタンスの年月日を文字列で返すメソッドです。
返す文字列は「Y-m-d」の形式で返します。
1 2 3 |
$sample = new Carbon('2023-10-11 10:11:10'); $result = $sample->toDateString(); // 変数resultには「2023-10-11」が文字列で返される |
Carbon::toDateTimeStringメソッド
Carbon::toDateTimeStringメソッドは、呼び出しているCarbonインスタンスの年月日と時間を文字列で返すメソッドです。
返す文字列は「Y-m-d hh:mm:ss」の形式で返します。
1 2 3 |
$sample = new Carbon('2023-10-11 10:11:10'); $result = $sample->toDateTimeString(); // 変数resultには「2023-10-11 10:11:10」が文字列で返される |
Carbonインスタンスを判定するメソッド
Carbonインスタンスを判定するメソッドを簡単なサンプルプログラムも載せて紹介します。
Carbon::isTodayメソッド
Carbon::isTodayメソッドは、呼び出しているCarbonインスタンスが今日かどうかを判定することができます。
Carbonインスタンスが今日であればtrue、それ以外はfalseを返します。
1 2 3 |
$today = Carbon::today(); $result = $today->isToday(); // 変数resultには「true」が返される |
Carbon::isTomorrowメソッド
Carbon::isTomorrowメソッドは、呼び出しているCarbonインスタンスが明日かどうかを判定することができます。
Carbonインスタンスが明日であればtrue、それ以外はfalseを返します。
1 2 3 |
$tomorrow = Carbon::tomorrow(); $result = $tomorrow->isTomorrow(); // 変数resultには「true」が返される |
Carbon::isYesterdayメソッド
Carbon::isYesterdayメソッドは、呼び出しているCarbonインスタンスが昨日かどうかを判定することができます。
Carbonインスタンスが昨日であればtrue、それ以外はfalseを返します。
1 2 3 |
$yesterday = Carbon::yesterday(); $result = $yesterday->isYesterday(); // 変数resultには「true」が返される |
Carbon::isLeapYearメソッド
Carbon::isLeapYearメソッドは、呼び出しているCarbonインスタンスがうるう年かどうかを判定することができます。
Carbonインスタンスがうるう年であればtrue、それ以外はfalseを返します。
1 2 3 |
$sample = new Carbon('2000'); $result = $sample->isLeapYear(); // 変数resultには「true」が返される |
Carbon::equalToメソッド
Carbon::equalToメソッドは、呼び出しているCarbonインスタンスと引数で指定しているCarbonインスタンスが同じ日付、同じ時間かどうかを判定することができます。
すべて同じであればtrue、それ以外はfalseを返します。
1 2 3 4 |
$date1 = Carbon::today(); $date2 = Carbon::today(); $result = $date1->equalTo($date2); // 変数resultには「true」が返される |
Carbon::gtメソッド
Carbon::gtメソッドは、呼び出しているCarbonインスタンスが引数で指定しているCarbonインスタンスより大きい、すなわち未来かどうかを判定することができます。
未来であればtrue、それ以外はfalseを返します。
1 2 3 4 |
$date1 = Carbon::today(); $date2 = Carbon::yesterday(); $result = $date1->gt($date2); // 変数resultには「true」が返される |
Carbon::ltメソッド
Carbon::ltメソッドは、呼び出しているCarbonインスタンスが引数で指定しているCarbonインスタンスより小さい、すなわち過去かどうかを判定することができます。
過去であればtrue、それ以外はfalseを返します。
1 2 3 4 |
$date1 = Carbon::yesterday(); $date2 = Carbon::today(); $result = $date1->lt($date2); // 変数resultには「true」が返される |
Carbonインスタンスを計算するメソッド
Carbonインスタンスを計算するメソッドを簡単なサンプルプログラムも載せて紹介します。
Carbon::addSecondsメソッド
Carbon::addSecondsメソッドとは、呼び出しているCarbonインスタンスに引数で指定されている秒数を足すメソッドです。
1 2 3 |
$sample = new Carbon('2000-01-01 00:00:00'); $sample->addSeconds(10); // 実行後は変数sampleは「2000-01-01 00:00:10」という値になっている |
Carbon::addDaysメソッド
Carbon::addDaysメソッドとは、呼び出しているCarbonインスタンスに引数で指定されている日数を足すメソッドです。
1 2 3 |
$sample = new Carbon('2000-01-01'); $sample->addDays(10); // 実行後は変数sampleは「2000-01-11 00:00:00」という値になっている |
まとめ:Carbonライブラリを使ってみよう
以上がPHPのCarbonライブラリの基本的な使い方についての解説でした!
あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ
コメント