こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在5社経験している、12年目エンジニアです。
この記事では、 PHPで現在の日時のCarbonインスタンスを生成するCarbon::nowメソッドについて
- Carbon::nowメソッドとは
- Carbon::nowメソッドを使ったサンプルプログラム
と、丁寧に解説していきます。
前提条件:実行環境について
実行環境は以下の通りです。
OS | Windows11 |
---|---|
PHPのバージョン | 8.2.4 |
XAMPPのバージョン | 8.2.4 |
Carbonライブラリのバージョン | 2.71.0 |
PHPを動かすためにXAMPPを使っています。
XAMPPのインストールは、下の記事をご参考ください。
Carbon::nowメソッドが属しているCarbonライブラリとは、年月日や時間を扱うライブラリです。
Carbonライブラリの基本的な使い方については、こちらの記事をご参考ください。
Carbon::nowメソッドとは
Carbon::nowメソッドとは、現在日時のCarbonインスタンスを生成して返すメソッドです。
Carbon::nowメソッドは使い方が
- パターン1:引数を指定しない場合
- パターン2:引数を指定する場合
の合計2パターンあります。
それぞれ解説します。
パターン1:引数を指定しない場合
引数を指定しない場合、環境で設定されているタイムゾーンを基にして現在日時のCarbonインスタンスを生成して返します。
使い方サンプルは以下です。
1 |
$result = Carbon::now(); |
変数resultには実行しているPHPのタイムゾーンを基にして
1 |
2023-10-05 00:09:21 |
というようなCarbonインスタンスが返されます。
タイムゾーンを確認するやり方はこちらの記事をご参考ください。
パターン2:引数を指定する場合
引数を指定する場合、引数で設定されているタイムゾーンを基にして現在日時のCarbonインスタンスを生成して返します。
使い方サンプルは以下です。
1 |
$result = Carbon::now('Europe/London'); |
変数resultには引数で指定されているタイムゾーンを基にして
1 |
2023-10-04 16:11:57 |
というようなCarbonインスタンスが返されます。
注意点として、引数に
1 |
$result = Carbon::now('sample'); |
というような存在しないタイムゾーンを指定して実行した場合
1 2 3 4 5 6 7 8 9 10 11 |
Fatal error: Uncaught Carbon\Exceptions\InvalidTimeZoneException: Unknown or bad timezone (sample) in C:\xampp\vendor\nesbot\carbon\src\Carbon\CarbonTimeZone.php:109 Stack trace: #0 C:\xampp\vendor\nesbot\carbon\src\Carbon\Traits\Date.php(626): Carbon\CarbonTimeZone::instance('sample', NULL) #1 C:\xampp\vendor\nesbot\carbon\src\Carbon\Traits\Creator.php(89): Carbon\Carbon::safeCreateDateTimeZone('sample') #2 C:\xampp\vendor\nesbot\carbon\src\Carbon\Traits\Creator.php(260): Carbon\Carbon->__construct(NULL, 'sample') #3 C:\xampp\htdocs\sample.php(5): Carbon\Carbon::now('sample') #4 {main} Next Carbon\Exceptions\InvalidFormatException: Unknown or bad timezone (sample) in C:\xampp\vendor\nesbot\carbon\src\Carbon\Traits\Creator.php:91 Stack trace: #0 C:\xampp\vendor\nesbot\carbon\src\Carbon\Traits\Creator.php(260): Carbon\Carbon->__construct(NULL, 'sample') #1 C:\xampp\htdocs\sample.php(5): Carbon\Carbon::now('sample') #2 {main} thrown in C:\xampp\vendor\nesbot\carbon\src\Carbon\Traits\Creator.php on line 91 |
例外が発生するので、ご注意ください。
では、次の章で実際に使ってみます。
Carbon::nowメソッドを解説するプログラムの概要
Carbon::nowメソッドを解説するプログラムでは、引数に
- タイムゾーン指定なし
- タイムゾーン指定あり
の2種類のCarbonインスタンスを生成し、生成された日時を表示させて確認します。
phpプログラムは
C:\xampp\htdocs
配下に、【sample.php】というファイル名で格納しています。
PHPサンプルプログラム
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<?php require __DIR__ . "/../vendor/autoload.php"; use Carbon\Carbon; print('■Carbon::nowメソッドサンプル<br >'); $date1 = Carbon::now(); print("タイムゾーン指定なし:". $date1); print("<br >"); $date2 = Carbon::now('Europe/London'); print("タイムゾーン指定あり:". $date2); ?> |
実行結果
XAMPPを起動して、【http://localhost/sample.php】のURLにアクセスします。
XAMPPでPHPの動かし方については、こちらの記事をご参考ください。
この処理を実行している時間は日本時間で2023年10月5日22時51分です。
タイムゾーンに沿った今のCarbonインスタンスを生成できていることが確認できました!
まとめ:Carbon::nowメソッドを使ってみよう!
以上がCarbon::nowメソッドについての解説でした!
あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ
コメント