我在表格中有一个日期时间字段,我想给格式掩码yyyy-mm-dd hh:mi
,我使用以下代码:
$builder->add('beginDate', 'datetime', array('widget' => 'single_text',
'date_format' => 'yyyy-MM-dd HH:i'))
但是我在表单领域得到的是这样的:
2014-08-25T22:37:37Z
我想要像:
2014-08-25 22:37
我能得到这个吗?
我见过this和this,但没有找到一个真实的例子,数小时(24小时格式)和分钟
谢谢
答案 0 :(得分:11)
您是否在日期时间定义中尝试了以下date_format
?
'yyyy-MM-dd HH:mm'
而不是你现在拥有的:
'yyyy-MM-dd HH:i'
根据文档,我认为你将PHP日期格式选项与symfony表单构建器期望的RFC格式选项混合在一起。仔细阅读已接受的RFC datetime formats,了解如何进行调整。
答案 1 :(得分:8)
您应该使用接受format option的HTML5 DateTime format。
$builder->add(
'beginDate',
'datetime',
array(
'widget' => 'single_text',
'format' => 'yyyy-MM-dd HH:mm'
)
)
使用format
时,应使用date_format
选项代替widget = single_text
。
答案 2 :(得分:4)
你为什么不尝试这个?
$builder
->add('beginDate', 'date', array(
'widget' => 'single_text',
'format' => 'yyyy-MM-dd H:mm',
));
答案 3 :(得分:1)
你是如何使用Twig或Php为这个结果形成显示的?
也许它可能与parameters.yml
et config.yml
中的本地人有关,否则就是枝条显示。
答案 4 :(得分:0)
你有没有试过这样的事情:
$builder->add('beginDate', 'datetime', array(
'widget' => 'single_text',
// input format for single_text
'format' => 'dd/MM/yyyy kk:mm',
));
参考: http://symfony.com/doc/current/reference/forms/types/datetime.html 还有这个: http://userguide.icu-project.org/formatparse/datetime#TOC-Date-Time-Format-Syntax
答案 5 :(得分:0)
我有同样的问题,这对我有用
->add('closingDate', DateTimeType::class, [
'date_widget' => 'single_text',
'date_format' => 'dd.MM.yyyyTH:i',
'html5' => false,
]);
答案 6 :(得分:0)
这种方式对我非常有效
使用Symfony \ Component \ Form \ Extension \ Core \ Type \ DateType;
->add('beginDate', DateType::class, array(
"widget" => 'single_text',
"format" => 'yyyy-MM-dd',
"data" => new \DateTime()
))