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

2018-09-13
1分で読了
更新: 2025-12-14

目次

例えば $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 とかやりそうじゃないですか?

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

以上です。

この記事をシェア

この記事を書いた人

Roy Okuwaki

「かたつむりくんのWWW」を運営している Roy Okuwaki(tinybeans)です。bit part 合同会社 代表社員。2007年から、Movable Type や Craft CMS などの CMS、Web 開発、AI ツールの使い方について書いています。

プロフィールを見る →

関連記事