2019-05-03

Craft CMS で Element API から出力するときの日付フォーマット #craftcms

Element API で記事の一覧を出してた時に投稿時間を出していなかったのでそれを追加してみた。

コードとしてはこんな感じのを追加

'date' => $entry->postDate->format('Y-m-d H:i'),

Element API のサンプル

Element API のサンプルみるとこんな感じで

'date_published' => $entry->postDate->format(\DateTime::ATOM),
craftcms/element-api: Create a JSON API/Feed for your elements in Craft.
https://github.com/craftcms/el...

このまま出力するとこんな感じで出力される。

date: "2019-05-03T11:00:00+09:00"

受け取り側で加工してもいいんだけど今回はとりあえず出力側でカスタマイズしてしまう。

日付のフォーマット指定

日付のフィルタについてのドキュメントを読んでいて、

PHP の date() ファンクションでサポートされるものと同じ フォーマットオプション を使用して、カスタムの日付フォーマットを渡すこともできます。
フィルタ | Craft 3 ドキュメント
https://docs.craftcms.com/v3/j...

とのことなので、そちらを読んで解決。

PHP: date - Manual
https://php.net/manual/en/func...