こんにちは、最近「アイスの実」を「果実玉」と言って同期に突っ込まれたケンティです!
バックエンド
エンジニア
ケンティ
なんとなく意味はわかるしほぼ正解やろってマジメに思ってます。。。
バックエンド
エンジニア
ケンティ
今回は、Laravelで日付操作したいときによく使うクラスCarbonについて書いていきます。
日付を表示するときに、Carbonインスタンスに対してformat()で表示形式を指定することができたりと便利ですよね。
以前、月日が1桁で0埋めしないm月d日表示をしたかったことがあったのですが、
やり方を検索しても中々ヒットしなかったので、自分で書いて残しておこうと思います!
環境
・PHP 7.3.28
・Laravel Framework 6.20.7
・config/app.php に下記を記述し、タイムゾーンを日本時間に設定しておく
'timezone' => 'Asia/Tokyo',
やり方
とりあえずCarbon使いたいファイルの頭で、Carbonクラスをuseしよう。
use Carbon\Carbon;
テキトーにCarbonインスタンスを取得する。
月日が1桁のテストデータが欲しいので、指定のデータにparseしちゃう。
$dt = Carbon::today()->parse('2021-01-01'); // 2021-01-01を持つデータを取得
さっき取得したインスタンスにformatで形式を指定してやる。
$dt->format('n月j日');
// 出力結果
"1月1日"
ちなみに、
formatにmとdを使うと0埋めされてしまうので注意。(今まで何も考えずにこれ使ってた
YYYY-mm-dd表示とかならこれ使いましょう。
$dt->format('m月d日');
$dt->format('Y-m-d');
// 出力結果
"01月01日"
"2021-01-01"
今回のポイント
項目 | フォーマット | 説明 | 出力 |
月 | m | 0埋めする | 01 |
n | 0埋めしない | 1 | |
日 | d | 0埋めする | 01 |
j | 0埋めしない | 1 |
さいごに
Carbonは日付に1週間足したり、ある日付とのdiffを取得したりなど
便利な書き方が他にもあるので、ぜひいろいろ試してみてください!
少しでもロジカルスタジオに興味が湧いた方はこちらまで〜!