我在symfony 4中使用带有DateTimeType的表单。
twig按国际DateTime格式对字段进行排序:月,日,年,小时,分钟。
我正在使用以下代码:
$form = $this->createFormBuilder($task)
->add('start', DateTimeType::class, array('widget' => 'choice', 'format' => 'dd-MM-yyyy')
->add('save', SubmitType::class, array('label' => 'neuen Termin anlegen'))
->getForm();
Twig将输出以下内容:
如何按德语DateTime格式排序字段?像这样(天,月,年,小时,分钟):
答案 0 :(得分:1)
我相信format
是widget = choice
将datetime field呈现为选择输入的正确选项,因为
定义DateType和TimeType的小部件选项。这个可以 被date_widget和time_widget选项覆盖。
因此使用format选项应该如下所示:
'format' => 'dd-MM-yyyy HH:mm'
,或者如果您尝试第二个视域并覆盖两个设置,例如
$builder->add('myDate', 'datetime', array(
'date_widget' => 'single_text',
'time_widget' => 'choice',
...
));
另一个建议是,here建议对每个日期时间组件分别使用form_widget:
{{ form_widget(form.date.date.day) }}
{{ form_widget(form.date.date.month) }}
{{ form_widget(form.date.date.year) }}
{{ form_widget(form.date.time.hour) }}
{{ form_widget(form.date.time.minute) }}
This的答案更进一步,并探讨了更多自定义日期字段的方法。
顺便说一句:symfony表单构建器期望日期格式为RFC format。不要将它们与PHP日期格式选项混淆,例如'yyyy-MM-dd HH:i'
。