0

我需要帮助来更改特定日期字段上日期字段的日期格式,如下所示,从默认格式 dd/mm/yyy 更改为 dmY

$form['availability']['check_in_date'] = array(
        '#type' => 'date',
        '#title' => $this->t('Check In Date'),
        '#date_date_format' => 'dd-mm-yy',
        '#required' => TRUE,
        '#description' => $this->t('Please enter your check in date'),
        '#default_value' => (isset($customer_data->check_in_date)) ? $customer_data->check_in_date : '',
        '#attributes' => array('data-drupal-date-format' => "dd-mm-yy", 'type'=> 'date', 'min'=> '-1 day', 'max' => '+12 months'),
    );

我已经尝试了将日期字段添加到表单的推荐方法,如此链接所示

我什至尝试了下面的建议作为对页面事件的评论的一部分,这里有这个建议

一切似乎都不起作用,任何想法。谢谢。

4

2 回答 2

1

基本上我已经尝试了很多东西但没有工作,所以我刚刚将该字段创建为文本字段并添加了 javascript datepicker 以在不破坏drupal过程的情况下实现相同的结果,并且我能够实现我想要的结果。

基于此,我假设它是 drupal 8 中的一个错误,直到它被修复,并且为开发人员提供了更好的解决方法,以便能够指定他们想要的格式。

于 2018-01-08T14:16:03.457 回答
1

通过使用 hook_form_alter 并更改表单字段元素,这对我有用


$form["field_date_of_birth"]["widget"][0]['value']['#attributes']['data-drupal-date-format'] = ['d/m/Y'];
$form["field_date_of_birth"]["widget"][0]['value']['#date_date_format'] = 'd/m/Y';
$form["field_date_of_birth"]["widget"][0]['value']['#date_date_element'] = 'text';
$form["field_date_of_birth"]["widget"][0]['value']['#attributes']['title'] = t('Enter a valid date - e.g. @format', [
    '@format' => (new \DateTime())->format('d/m/Y'),
  ]);
于 2019-02-06T08:18:35.773 回答