Symfony2时区与形式

时间:2013-11-07 10:49:40

标签: forms symfony timezone

我正试图以形式处理时区。

我的日期以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而不是欧洲/巴黎。

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

我错过了什么?。

1 个答案:

答案 0 :(得分:0)

它可能来自setDefaultOptionsview_timezone设置为'UTC' ...

这可能是问题吗?