acf_convert_date_to_php()


Advanced Custom Fields (ACF)のacf_convert_date_to_php()関数は、ACFのカスタムフィールドで使用される日付フォーマットをPHPのdate()関数で使用可能な形式に変換します。

シンタックス

acf_convert_date_to_php( string $acf_format );
  • $acf_format (string) — ACFで使用される日付フォーマット。例えば、「d/m/Y」や「m-d-Y」など。

例1: 基本的な使用例

ACFの日付フォーマットをPHPで使用可能な形式に変換します。

<?php
$acf_format = 'd/m/Y';
$php_format = acf_convert_date_to_php( $acf_format );
echo $php_format; // 結果: j/n/Y
?>

例2: ACFカスタムフィールドの日付をフォーマット変換して表示

ACFの日付フィールドから取得した値を変換して出力します。

<?php
$date_field = get_field('custom_date');
$acf_format = get_field_object('custom_date')['return_format'];
$php_format = acf_convert_date_to_php( $acf_format );
echo date( $php_format, strtotime( $date_field ) );
?>

例3: フォーマット変換を伴うカスタム投稿タイプの日付取得

特定のカスタム投稿タイプから日付を取得し、指定されたフォーマットで表示します。

<?php
$post_date = get_post_meta(get_the_ID(), 'event_date', true);
$acf_format = 'Y-m-d';
$php_format = acf_convert_date_to_php( $acf_format );
echo date( $php_format, strtotime( $post_date ) );
?>

例4: 複数日付フィールドの一括変換

複数のACF日付フィールドを変換してリスト表示します。

<?php
$dates = get_field('dates_array');
$acf_format = 'd.m.Y';
$php_format = acf_convert_date_to_php( $acf_format );
foreach ( $dates as $date ) {
    echo date( $php_format, strtotime( $date ) ) . '<br>';
}
?>

例5: フロントエンドでの動的な日付変換

ユーザーが選択した日付フォーマットを基に動的に変換します。

<?php
$user_format = 'm/d/Y';
$php_format = acf_convert_date_to_php( $user_format );
echo date( $php_format );
?>

注意事項:

  • acf_convert_date_to_php()は、ACFのカスタムフィールドで使用されるフォーマット文字列にのみ対応しています。
  • 関数はnullまたは空のフォーマット文字列を入力として受け取ると空文字を返します。
  • PHPのdate関数と完全に互換性があるわけではないため、変換後のフォーマットを確認してください。

関連機能: