繁体   English   中英

Symfony2时区的形式

[英]Symfony2 timezone with form

我正在尝试以形式处理时区。

我的日期存储在UTC中。 我希望表单在时区(欧洲/巴黎)中转换此日期,并且当用户输入日期时,日期将在数据库中的utc中转换回来。

这是我的表格:

<?php
namespace Acme\MyBundle\Form;

use Symfony\Component\Form\AbstractType;

/**
 * Broadcasting form without broadcast choice
 */
class BroadcastingEditType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        var_dump(get_class($builder));
        $builder
            ->add('id_broadcasting', 'genemu_plain',
                array('label'=>'Id')
            )
            ->add('start_time', 'datetime',
                array(
                    'label'          => 'Début',
                    'required'       => true,
                    'date_widget'    => 'single_text',
                    'time_widget'    => 'choice',
                    'model_timezone' => 'UTC',
                    'view_timezone'  => 'Europe/Paris',
                    'attr'           => array('class' => 'input')
                )
            );
    }

    public function setDefaultOptions(OptionsResolverInterface $resolver)
    {
        $resolver->setDefaults(
            array(
               'data_class' => 'Edd\VavBundle\Entity\Broadcasting',
                'view_timezone'     => 'UTC',
            )
        );
    }

    public function getName()
    {
        return 'acme_mybundle_broadacasting_type';
    }
}

我尝试了选项model_timezone和view_timezone的其他值,但是日期值保留在UTC中,而不是Europe / Paris。

我的默认时区是欧洲/巴黎。

我错过了什么?

它可能来自setDefaultOptions ,在那里, view_timezone设置为'UTC' ...

可能是问题所在吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM