Symfony datetimetype修改发布时间

时间:2017-07-20 11:17:40

标签: php symfony datetime symfony-forms

我有这样简单的形式:

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。

我在这里跟踪错误:

https://github.com/symfony/symfony/blob/3.3/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeToLocalizedStringTransformer.php#L123

返回的时间戳错误。

0 个答案:

没有答案