web-dev-qa-db-ja.com

drupal 8で日付時刻フィールドに日付形式を設定する方法は?

drupal 8のデフォルトの日付形式はd.m.Yですが、d-M-Yにしたいです。

私が試してみました

#format => 'd-m-Y'

#date_format => 'd-m-Y'

My date field

$form['start_date'] = [
           '#type' => 'datetime',
           '#title' => t('Start Date'),
           '#date_format' => 'd-m-Y',
           '#description' => date($date_format, time()),
           '#default_value' => time()
         ];

しかし、どれもうまくいきませんでした。

3
Sri Harsha

Drupal 8では、日付形式と時刻形式が分離されています。この値は個別に設定する必要があります。

これは、コンテンツタイプに新しいcckフィールドを作成し、フォームの変更から印刷することでわかりました。

$date_format = 'Y-m-d'; $time_format = 'H:i';

$form['start_date'] = [
      '#type' => 'datetime',
      '#title' => t('Start Date'),
      '#date_date_format' => $date_format,
      '#date_time_format' => $time_format,
      '#description' => date($date_format, time()),
      '#default_value' => Drupal\Core\Datetime\DrupalDateTime::createFromTimestamp(time())
    ];
13
Sri Harsha