我正在尝试以形式处理时区。
我的日期以 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 而不是欧洲/巴黎。
我的默认时区是欧洲/巴黎。
我错过了什么?