Symfony4 DateTimeType显示无效日期
我不明白为什么要通过Symfony表单创建DayTimePicker控件:Symfony4 DateTimeType显示无效日期,symfony,datetime,Symfony,Datetime,我不明白为什么要通过Symfony表单创建DayTimePicker控件: public function buildForm(FormBuilderInterface $builder, array $options) { $builder ->add('start', DateType::class, array( 'attr' => array( ), 'data' => ne
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('start', DateType::class, array(
'attr' => array(
),
'data' => new DateTime('last day of previous month')
))
->add('end', DateType::class, array(
'attr' => array(
),
'data' => new \DateTime("now")
))
->add('submit', SubmitType::class, array('attr' => array('label' => 'Generate'))
;
}
收到选择日期2018年4月31日,因为选择此日期并发送此日期的表单甚至未通过验证,所以为什么会生成此日期?您需要告诉DateTime如何格式化日期。尝试:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('start', DateType::class, array(
'attr' => array(
),
'widget' => 'single_text',
'data' => new DateTime('last day of previous month')->format('Y-m-d')
))
->add('end', DateType::class, array(
'attr' => array(
),
'widget' => 'single_text',
'data' => new \DateTime("now")->format('Y-m-d')
))
->add('submit', SubmitType::class, array('attr' => array('label' => 'Generate'))
;
}