Sonata DateTimePickerType 类默认日期显示错误的日期时间格式

Posted

技术标签:

【中文标题】Sonata DateTimePickerType 类默认日期显示错误的日期时间格式【英文标题】:Sonata DateTimePickerType class default date displays wrong date time format 【发布时间】:2019-11-22 00:18:57 【问题描述】:

我卡住了。我不知道如何使用奏鸣曲 DateTimePickerType 类正确设置默认日期和时间。我尝试了不同的方法,但到目前为止,它们都没有帮助。在下面的屏幕截图中,"help" 键显示正确的日期和时间,但是当我使用 "dp_defaul_date" 时,事情就发生了故障。此外,日期和时间来自同一个对象实例。有任何想法吗?提前致谢。

【问题讨论】:

【参考方案1】:

您可以为DateTimePickerType 提供如下格式:

->add('myDate', DateTimePickerType::class, [
    'format' => 'dd/MM/yyyy HH:mm',
]);

将格式更改为您想要的格式,它应该像这样呈现。

【讨论】:

MylesK,感谢您的回答。我已经试过了。使用“格式”删除“dp_default_date”默认值。也就是说,这里显示的是空字符串。【参考方案2】:

对于可能遇到同样问题的人,经过数小时的尝试,我是这样解决的:

$formMapper
->add('dateOfAdoption', 'sonata_type_datetime_picker',
     [
        'dp_default_date' => $container->getCreatedAt()->format('d M. Y H:i '),
        'datepicker_use_button' => true,
        'mapped' => false,
     ]
);

Note: 
d - The day of the month (from 01 to 31)
M - A short textual representation of a month (three letters)
Y - A four digit representation of a year
H - 24-hour format of an hour (00 to 23)
i - Minutes with leading zeros (00 to 59)

【讨论】:

以上是关于Sonata DateTimePickerType 类默认日期显示错误的日期时间格式的主要内容,如果未能解决你的问题,请参考以下文章

Sonata Admin Bundle - 表单类型:sonata_type_collection - 自定义模板?

sonata AdminBlockServiceInterface 弃用,以明确安装 symfony 2.8 + sonata 3.10

Sonata 管理包:无法删除与 sonata_type_admin 的关系

如何在 Sonata Admin 中正确配置“sonata_type_collection”字段

Sonata-Project 的 Google Authenticator:来自 Application\Sonata\UserBundle\Entity\User 的未定义方法“getTwoStep

Symfony 4 + Sonata + Sonata Doctrine ORM Admin Bundle:错误:没有要处理的元数据类