Symfony的日期时间字段格式
我有,我想给格式掩码yyyy-mm-dd hh:mi
形式的日期时间字段,我用下面的代码:Symfony的日期时间字段格式
$builder->add('beginDate', 'datetime', array('widget' => 'single_text',
'date_format' => 'yyyy-MM-dd HH:i'))
但我得到的表单字段是这样的:
2014-08-25T22:37:37Z
我想是这样的:
2014年8月25日22:37
我能得到这个?
我见过this和this,但没有找到几个小时(24小时格式)和分钟
谢谢
您是否尝试过一个真实的例子下面您的日期时间定义date_format
?
'yyyy-MM-dd HH:mm'
,而不是你现在拥有的一切:
'yyyy-MM-dd HH:i'
我觉得你混合symfony的表单生成器预计RFC格式选项PHP日期格式选项,根据文档。仔细阅读已接受的RFC datetime formats以了解如何调整它。
你是怎么形成这个结果的显示器,用Twig或Php? 也许它是关于也许它是关于你的本地在parameters.yml
和config.yml
否则树枝显示。
我终于得到它接受我的格式:在输入端(“YYYY-MM-DD HH毫米”)虽然它仍然显示了T和Z或一个2:00时区表示一个值时。这是我的最后的代码:'$ builder->加( 'fechaInicio', '日期时间',阵列( '工具'=> 'single_text', 'DATE_FORMAT'=> 'YYYY-MM-DD HH:MM',“model_timezone '=> '欧洲/马德里', 'view_timezone'=> '欧洲/马德里', 'ATTR'=>数组(' 占位符” => 'YYYY-MM-DD HH:MI:SS')))' – 2014-09-01 23:37:48
即你发送的链接听起来不错,但现在的问题是,我如何设置表单项**值**的格式掩码?这个失败,因为它试图格式掩码应用到所有输入元件:'{{form_widget(edit_form.fechaInicio)|日期( “Y-M-d H:I:S”, “欧洲/马德里”)}}' – 2014-09-02 00:14:17
你为什么不试试呢?
$builder
->add('beginDate', 'date', array(
'widget' => 'single_text',
'format' => 'yyyy-MM-dd H:mm',
));
你有没有尝试这样的事:
$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
您应该使用它接受HTML5 DateTime format的format option。
$builder->add(
'beginDate',
'datetime',
array(
'widget' => 'single_text',
'format' => 'yyyy-MM-dd HH:mm'
)
)
的format
选项应该使用widget = single_text
时用来代替date_format
。
相同的结果:'2014-08-13T00:00:00Z' – 2014-08-31 22:01:57
鉴于输出包含秒和时区偏移量,显然格式定义没有正确注册。也许它不是single_text小部件模式的有效格式,symfony正在回退到预定义的默认值,或者它可能是缓存问题。您可以清除缓存以查看是否会生成预期的输出格式。 'php应用程序/控制台缓存:清除“。 – 2014-08-31 22:40:34