Craft CMS のプラグインで日付型のフィールドのフォーマットを調整する方法をご紹介します。
例えば $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
とかやりそうじゃないですか?
ということでメモエントリーでした。
以上です。