我有这样简单的形式:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('publishSince', DateTimeType::class, [
'format' => \DateTime::ATOM,
'widget' => 'single_text',
])
;
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
'data_class' => ItemPublishDTO::class,
'csrf_protection' => false,
]);
}
和DTO:
class ItemPublishDTO
{
/**
* @Assert\GreaterThanOrEqual("now")
*/
public $publishSince;
}
当我在价值测试中发表表格" 2020-01-08T00:08:00 + 00:00"这是UTC Symfony表单返回:" 2020-01-08T00:01:00 + 00:00"
它移动了7分钟但是为什么?服务器时区也是UTC。
Corection :无论发送什么,时间部分总是丢失并设置为00:01:00。
我在这里跟踪错误:
返回的时间戳错误。