更改 symfony 日期类型输入显示格式

Change symfony date type input display format

您好,我正在将 Symfony 日期类型与小部件一起使用 single_text。这是我的代码。

use Symfony\Component\Form\Extension\Core\Type\DateType;
// ...

$builder->add('date_created', DateType::class, [
    'widget' => 'single_text',
    // this is actually the default format for single_text
    'format' => 'yyyy-MM-dd',
]);

我得到了这个输出。

但我需要将其显示为mm/dd/yyyy。有办法吗?

有两种选择:

  • 使用 html5(您的当前设置)。在这种情况下,文档显示 "If you want your field to be rendered as an HTML5 "date" 字段,您必须使用格式为 yyyy-MM-dd 的 single_text 小部件..."。实际上,浏览器会向您显示 html5 具有 30/12/2019 值的小部件,但在提交时发送 2019-12-30。检查自己:https://www.w3schools.com/html/tryit.asp?filename=tryhtml_input_date

  • 不使用html5:

$builder->add('date_created', DateType::class, [
    'widget' => 'single_text',
    'html5' => false,
    'format' => 'yyyy-MM-dd',
]);

您将能够以 yyyy-MM-dd 格式设置和提交日期。