Craft CMS のプラグイン内のコードで日付フィールドのフォーマットを調整するには

Craft CMS のプラグインで日付型のフィールドのフォーマットを調整する方法をご紹介します。

Craft CMS Logo

例えば $entry という変数がcraft\elements\Entryクラスのインスタンスだとすると、投稿日をフォーマットして出力するには下記のようにすればOKです。

$entry->postDate->format('Y-m-d');

日付を編集してから出力するときは modify が使えます。

$entry->postDate->modify('+1 day')->format('Y-m-d');

下記の方法でも可能ですがあまり意味はないですね。

Craft CMS のエントリーに日付型のフィールド(ハンドル名: deliverDate )を作ったとします。

これを Twig で 13 Sep, 2018 16:46 am のように出力するには下記のようにします。

{{ entry.deliverDate | date('d M, Y h:i a') }}

ここで使えるフォーマットは PHP: date - Manual となります。

さて、これをプラグインなどのコードの中で同じようにする場合は、 $entry にエントリーの情報が入っているとすると下記のようになります。

date('d M, Y h:i a', strtotime($entry->deliverDate))

まあ、これだけの話なのですが、日付のフィールドの name 属性が fields[deliverDate][date]fields[deliverDate][time] なので、なんとなく、 $entry->deliverDate->date とかやりそうじゃないですか?

ということでメモエントリーでした。

以上です。

Published 2018-09-13
Updated 2019-11-01