日付フォーマットの表示変更

カスタムフィールドで入力した日付の表示の変更方法です。

日付は入力しても自動で曜日を出力できないってことがあったのでメモ。

通常の表示の仕方

<?php the_field('カスタムフィールド名'); ?>

フォーマットを変更する

<?php
// カスタムフィールドの値を「$strDate」に入れる
$strDate = get_field('カスタムフィールド名');
// データのフォーマットを用意する
$date = DateTime::createFromFormat('Ymd', $strDate);
// 曜日のフォーマットを用意する
$week = array ( 'sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat' );
// 結果を出力する
echo $date->format('Y.m.d') .'('. $week[$date->format('w')].')'; ?>

表示結果:2016.09.09.(fri)

日付のフォーマット例

表示方法を変更するには、

echo $date->format('Y.m.d') .'('. $week[$date->format('w')].')'; ?>

この部分を変更します。

2016年9月9日(土)
echo $date->format('Y年n月j日') .'('. $week[$date->format('w')].')'; ?>

曜日変更例

曜日を変える場合は、

$week = array ( 'sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat' );

この部分を好きに変更してください。

月、火、水…
$week = array ( '日', '月', '火', '水', '木', '金', '土' );
月曜日、火曜日、水曜日…
$week = array ( '日曜日', '月曜日', '火曜日', '水曜日', '木曜日', '金曜日', '土曜日' );